<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns:tls="http://telos.com/20210930"
  xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  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="tls-20210930.xsd" xlink:type="simple"/>
    <context id="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i7f21fa9b711841c7a69932307b47080a_I20211108">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-11-08</instant>
        </period>
    </context>
    <context id="i9bdccabf1eed45b9ae7a66f9aec8596e_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i4b219e56b34343afb81499bc932f3af5_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i377c5cc14a7d467a8594df3891e645f3_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ic699f336e11144cf99a5482a07ab7e8a_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i5b7c406d48fd4b4ca47502fe348d2a62_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i92d2730ea99c4874b2b14218a6b4f3c6_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i155cd560e207411dbb91e421a23d1610_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i97512c4058754b39a660ac53da0d8546_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i4ba3447d75cc4926836f573bac909860_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i8673c8f795a64fc4bfca9895bb320416_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="ifc438897956a4e16aca2e2052be937bf_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i01fc102cadf14836a4710efad2cf7ca4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i1f894f6a80b54936924b4d1c8cbbd8cb_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i8825df93d21e40c7b03aaa5d1806b160_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i94d7bf455afd4164aab03d0eebc840aa_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i4d6bc4e46f484b9ab04a634087edb8dc_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i3aeac0029c9f447e9a1873e66e2a6671_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i93b811faab814819b7f62be29e18a6ac_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ib54e9da5b1b549e987e5e977c6e72404_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i97f14edc8ddd46d88d7d2238077f63e8_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i0fbf97b2c2b5490f9700eb5101bcf8db_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="iab5885ba17b24199a4968b09454df7c0_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i5a8108856eab41a6823d71142e0eedb8_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i17c3a9b3e32b4b9d9ac73856576d4157_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i2f3aa690f6d34b33a79416d598e0b93b_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="iaedcc702955b4f37bccc4dcfa91edd73_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="ibcd0434e72034acf84d14fda25ed746e_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i23e85a84c4e44e72b333ec25a29cc966_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i66a0bd6ca69e40e7ad73035e9a8f9ec5_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="if846de7f0f48465c850e9fbeb1102d02_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i66d7a563791e4d558e198122d3223c7f_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="id73d52a4ff6e4941a646b80f72ae3dbe_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="ice7f78c4476d40a79320608e69f10dc3_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="icbc01b7a79b74253bdb27b1a5c44d21a_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="if71bc655fdc641c59672c6e3b2ecbcc8_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ic1663928e99c4587accdaf016f3750b0_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i4b34062bc1b54ee78f8421cbefdb06e9_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i8adec82b68744694bb1f3fd5fada0767_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i74bdcb902c12489aa1307c4e6bd11e04_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ia9a74dde69a44620a96a9ac939db9e9a_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i5f9c3d8af223408eb3eb36f7b4ed601b_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ib36a823f25464d6d819787d963a87ae3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i936b3bb34d3543d290fa45bab197d130_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i68b6388b51fe405a8be50767143cf9fc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6d8b57c718704a19ba065f424efd2a3f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</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="i4b6cd7d80bc24777ba62594b02bfe513_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie0ba6ad3f09044ea88b4fe23c10a5f14_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i7abab15de6f74e4b9a89ac08df9d637a_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="id69fa2d5a3094cd285f3b491d201b129_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i21087fc8909347e6a5221e4c6e27f5c7_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="iab9521cc682045a19dd242bb62a84542_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i00fcf0261b1a449487c7fcc2c17b5a9a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i849c8e54b2ad4f488d82437cf6aa66cf_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i07afff8f5e234867b36a1b5ad2feb0e9_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i409f254e42ca4787950005543025c415_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib676eb3ce2004899991f73be553778fb_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="id7daf9d8745a4e6ab63e7992e24e620b_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ie626ca86e57547dfaa498aa84eef3b6e_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ia7236bc2bee1442c8d53f6b9ac8fad70_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ie372c438b6ac46cb8e8ed3f187131179_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIDTeloworksAndTelosAPACMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i53209ba84ae54697841e4201cf4d51d3_D20201112-20201112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
        </entity>
        <period>
            <startDate>2020-11-12</startDate>
            <endDate>2020-11-12</endDate>
        </period>
    </context>
    <context id="ibe4f5d945d524447b20e86a03f8bf616_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="i2f606bd2cb444e1bb9c6293206b940ab_I20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-19</instant>
        </period>
    </context>
    <context id="ibf2fe3534a184fc08025aa2c703a9b6b_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="i2215cb123f024628b2c785e5970413da_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:IPOMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="ib83af983688b4a9cb0b04db287cdbec1_D20210406-20210406">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">tls:SecondaryPublicOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-06</startDate>
            <endDate>2021-04-06</endDate>
        </period>
    </context>
    <context id="i6dc39763b34641eeaee7f298e00ae363_I20210406">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">tls:SecondaryPublicOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-06</instant>
        </period>
    </context>
    <context id="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-19</startDate>
            <endDate>2021-04-19</endDate>
        </period>
    </context>
    <context id="i20b719dd0f4045e29e94fc54e3ce67f1_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RestatementAxis">srt:RestatementAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ied153dcead774fd5a0d8207b43aadeec_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="icae9b262aece42909972d618da2b1657_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="iad73aa4733ea47fca1bd81a73e732257_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i912d3f92ad8d4e3f960c99ad714478ea_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i5028b52c80784769a935e82dee8d5a8d_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i20e6d7574fc44c66ad2b5ec6174c25c6_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i541e5289a38748a2a08508be6289e9af_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i0550e72b972b4c9695b5794388263d75_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i6700b3a5ffed4b04aef96d03844ea0a2_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i59d1b9b2ca514c2d8cace3e48087a111_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ia8bcd23135e245ebb88ca3abb0d09249_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i6e68182e7cf04375a85cd41fb6787b78_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ic3cd2014c3764b479149831e0592efa5_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i6a2019eaeb97404aaa182a4fc7e0cab6_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i62abd384c61843b39bbccce2dbbf5de2_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i1d932bd5ee364b299cef1e4c94a6a58c_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="iec7970753eea4f29b6133cb14d534ee3_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i8c7b67277641487f87cf43107f0a6e66_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="if06d46b4ffa84020b812d2084b4a4876_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="if3de875173c6456abf2d06b0e7cf82be_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i90728933c3dc4e7d994ccede7ee6a01f_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i8af7dea98e70486d94a5087521e8047f_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ia4643f7c12884695a652dec8fc91d838_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tls:RevenueTimingOfTransferOfGoodsOrServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i71e0432ed6c8478fa46bb569a68fe44d_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="id5db66859438477ebc0b7dbcaae0c1c6_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="iefa702814fea4b07a18f3a80006b3f48_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ia4380924e51849c8817702c61975614c_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:FederalGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="id9a831acde8945079cac174b66a3593e_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ice25896f16554e1abf7f71787d180144_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i8a80df283df54b53a25dfd26a204a0ca_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i0c36cee5efe04dcf8bb63f9db4f9881b_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tls:StateLocalAndCommercialMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i39ebb8e9e46e4d7cb34c31b37d063309_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i4f79e99caac1443d9b281e62a99060ce_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i5b43b7592e2b4b9e8c4bf9f94fa0d928_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i224ac391cfbf4e32be5470dd7d820c34_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:FixedPriceContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="if73cf1496d6f4931ade43b461e156b23_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="if361ea0960d6443598f9570ad682cb20_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="if6730d2a54804263b622f3d04b71762e_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="if2d69fbae469460ea25a0403ae44495f_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">us-gaap:TimeAndMaterialsContractMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i3b8b77ba568f4eaf855a2b1d4a34e042_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i2e4d366511054ac4ba59ec3e35995998_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i644792028c45451488490c5deff95317_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i260869044a474bd695298ba430904cef_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerBasisOfPricingAxis">tls:CostPlusFixedFeeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i41a244cf3621437ea82979a54dbe352b_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2021-10-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i6e1521dd4bd84bc7ac8f0dfafa9a322f_I20070411">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2007-04-11</instant>
        </period>
    </context>
    <context id="i53b0558090cf49c5af1bd06c6f0cee8e_D20070419-20070419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2007-04-19</startDate>
            <endDate>2007-04-19</endDate>
        </period>
    </context>
    <context id="ia3ef464ee4a74ec0855d289892cde444_I20070419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2007-04-19</instant>
        </period>
    </context>
    <context id="i943ede538ade46f6a4aa89d476116d64_I20070420">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2007-04-20</instant>
        </period>
    </context>
    <context id="i9ac9dbb87a8a45ada231c39a2a8ad536_D20070420-20070420">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2007-04-20</startDate>
            <endDate>2007-04-20</endDate>
        </period>
    </context>
    <context id="ied5135097b9e430c9d4ad508e10ff7fd_I20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-12-24</instant>
        </period>
    </context>
    <context id="i389c363f5ed54fd29ff004f9bef39fdb_D20141224-20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-12-24</startDate>
            <endDate>2014-12-24</endDate>
        </period>
    </context>
    <context id="i3cebff9d3eae4da0a8e3f249297bbd56_D20141224-20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-12-24</startDate>
            <endDate>2014-12-24</endDate>
        </period>
    </context>
    <context id="i86b6cf1f48bd430ab1fe8d3182ef3203_I20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-12-24</instant>
        </period>
    </context>
    <context id="i2357b5e917a7410481c7bc5226f8821a_D20141224-20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassBMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2014-12-24</startDate>
            <endDate>2014-12-24</endDate>
        </period>
    </context>
    <context id="iff83c8d167c34700a6de396738cf4d4e_I20141224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ClassBMembershipUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2014-12-24</instant>
        </period>
    </context>
    <context id="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-23</startDate>
            <endDate>2020-11-23</endDate>
        </period>
    </context>
    <context id="ifd215ce6a0364427acb53f0c49f26d38_I20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-23</instant>
        </period>
    </context>
    <context id="ic1d98754f1264bc6b108937f3aca8d2e_D20210101-20210131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-01-31</endDate>
        </period>
    </context>
    <context id="ib80855dd95944f00b61f2ab8f5ab45ed_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i93aaf468f62a4740a1d982e2ec4efa10_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosIdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i3b771a17eb8d481a86b18a2bd5429a41_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="iae0f5ef942864d62a9c17414d6e30424_I20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-30</instant>
        </period>
    </context>
    <context id="i752a9add4dd54484a71bc86ce79e33ba_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="i0a12b4d5af6749ae9c6458af27caded3_D20210730-20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tls:AssetPurchaseAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-30</startDate>
            <endDate>2021-07-30</endDate>
        </period>
    </context>
    <context id="i96e57e485dbc418cbc4dc5575ff2a807_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i832eb7d872fc43e0830564ccad1fbfde_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i6d781f4cb2ea46f38d789f91bb03cf6a_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i17ccfd1a3b3d49219429623e6691a901_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="ibba34c4e9b7b4a3fb7f3d48183ad59f9_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i6050dad46eea4fe088890f84a3d5e19a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib405338c903340b3add1c8c58baae1d8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic035e4a67f654d68ac73c6cc2482ae97_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i78b7cd362a784995ba0622a718360e50_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i97b3cb759c90416da341e62f08df2f18_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i8a6e06d312844fba93b326b084b1a285_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareAndSoftwareDevelopmentCostsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib03b2751fd7241518ffd14623251bf3f_I20170125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">tls:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-01-25</instant>
        </period>
    </context>
    <context id="ie5ec598e56f448ebad124a0fac10bcbc_I20170125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-01-25</instant>
        </period>
    </context>
    <context id="ia1842445179942aabf9efb2c74379906_D20170125-20170125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-25</startDate>
            <endDate>2017-01-25</endDate>
        </period>
    </context>
    <context id="i4717052ab70e4591b57caa65612863c7_I20170125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-01-25</instant>
        </period>
    </context>
    <context id="i77e33f2206404afeb07cfc79b5fe1b27_D20170125-20170125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-01-25</startDate>
            <endDate>2017-01-25</endDate>
        </period>
    </context>
    <context id="i7ffe224c2a1040b9b1efd979df6fbcbf_D20180330-20180330">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-03-30</startDate>
            <endDate>2018-03-30</endDate>
        </period>
    </context>
    <context id="ib92f2232e569406ca7d737fe8cac3e10_I20180330">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-03-30</instant>
        </period>
    </context>
    <context id="ie38d02a2d556440dabd7c414209518df_D20190719-20190719">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-19</startDate>
            <endDate>2019-07-19</endDate>
        </period>
    </context>
    <context id="i5258443373324eb3a7522e8e42dbdc42_I20190719">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-19</instant>
        </period>
    </context>
    <context id="ic1ec45d3a7fa47859d4882b434b797e0_I20190718">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-18</instant>
        </period>
    </context>
    <context id="ib1bf56a33f9946e29dcf5b8f85dedb19_D20200326-20200326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-03-26</startDate>
            <endDate>2020-03-26</endDate>
        </period>
    </context>
    <context id="icf0bba6377df4268a0ecc925209a549b_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i18aa723c24cd4da8901af0ab2ed30f36_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i9b9827764f1c40d1935dccb355f01609_D20201124-20201124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-24</startDate>
            <endDate>2020-11-24</endDate>
        </period>
    </context>
    <context id="i13733e43410f441eb6524e22588943c2_I20201124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">tls:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-24</instant>
        </period>
    </context>
    <context id="i342a662dd6d9416da60603ef38e93819_I20210419">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EnlightenmentCapitalSolutionsFundIILPMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-19</instant>
        </period>
    </context>
    <context id="i26171b8177d04cdd92d332567629909c_I20150331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:OwnershipAxis">tls:TelosCorporationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2015-03-31</instant>
        </period>
    </context>
    <context id="ia27cf2ed20f749cdb1a1c2a4b5d1fe96_D20150331-20150331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-03-31</startDate>
            <endDate>2015-03-31</endDate>
        </period>
    </context>
    <context id="i6b3129f5cd164a92a13d91634d1f375e_D20170417-20170417">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-04-17</startDate>
            <endDate>2017-04-17</endDate>
        </period>
    </context>
    <context id="i59aff71aee8649fca50a60211c92d152_D20170418-20170418">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2017-04-18</startDate>
            <endDate>2017-04-18</endDate>
        </period>
    </context>
    <context id="i6830a6b6eae14452b665bf55382e61ed_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i769b2784cf3548d1822647c51ea60ac2_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">tls:PorterMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">tls:SubordinatedLoanAgreementsAndPromissoryNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:AffiliatedEntityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i8c5ff59a3e2b44fc8777855a1079fee3_I19901231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>1990-12-31</instant>
        </period>
    </context>
    <context id="i5e545df671544168a53dc21d34646038_D20060401-20060630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2006-04-01</startDate>
            <endDate>2006-06-30</endDate>
        </period>
    </context>
    <context id="i3e1c6e82b9e94119895a082a1198dae1_D19900101-19901231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1990-01-01</startDate>
            <endDate>1990-12-31</endDate>
        </period>
    </context>
    <context id="ia6b4b56dea1b4c43b6f340ca6d865e53_D19910101-19911231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1991-01-01</startDate>
            <endDate>1991-12-31</endDate>
        </period>
    </context>
    <context id="i8a4c6e1c12e349c1957b00476a362df6_D19981130-19981130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1998-11-30</startDate>
            <endDate>1998-11-30</endDate>
        </period>
    </context>
    <context id="i284315d2669d4492849c58395cf67efa_D19900101-19911231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>1990-01-01</startDate>
            <endDate>1991-12-31</endDate>
        </period>
    </context>
    <context id="ibc15652801934061b72a398f2fe729f5_I19911231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>1991-12-31</instant>
        </period>
    </context>
    <context id="i1cf49d28e09c484ca76e8f58a10530e7_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i36404b04b8d1490da5b9e93abdcbc35c_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PreferredUnitsByNameAxis">tls:TwelvePercentCumulativeExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-23</startDate>
            <endDate>2020-11-23</endDate>
        </period>
    </context>
    <context id="i3f1c71f0103a425ea234bbc8f477e57b_D20201119-20201119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-11-19</startDate>
            <endDate>2020-11-19</endDate>
        </period>
    </context>
    <context id="ifbc838afda644c5ca2dbb72d2688ab72_I20201123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">tls:ExchangeableRedeemablePreferredStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-23</instant>
        </period>
    </context>
    <context id="i8c4e079094ff4a91bc3b5da4995174c0_D20201020-20201020">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">tls:HamotMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-20</startDate>
            <endDate>2020-10-20</endDate>
        </period>
    </context>
    <context id="i37c44af63dcb4e4e9a2a5e49343ced9d_D20210505-20210505">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">tls:HamotMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-05-05</startDate>
            <endDate>2021-05-05</endDate>
        </period>
    </context>
    <context id="i33d6d69b1ebd4e5aa892c70ea458b79e_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i5fcdbd622eee441c8c942bc99adb960b_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i7e7221f363204e8c9c3cf03fd432a373_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ie5fa7f2915ed4b198f2f7b855bc36024_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ic96d4546441f46f68203cfaff15d5707_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="icb80570884734fe8a6d682bb2114b1a8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">tls:EmmettWoodMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i844dbeefc1fe4b9bab25cd4121de9349_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="iac78c653403f4f0daa0c853f0f0a460f_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="if3d8fece43c443e7a985c1216472bdeb_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i76eb2cdb7a1d4489a8964bc0f87091db_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i526eec98d0284fdea9b8c6ba5d22d7df_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i296e5507533f4435991fdd1cd743fd28_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tls:Two016OmnibusLongTermIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i9bd4b96fcf704c2fb467fc9a6f40eca7_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i430c9c35fe3d46ffa8fb83fb4bc15d88_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i0db6b4912d5c456587e132462bbfec45_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i2b92f748c8c340519bb2d9535c5afad0_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="id5bf997e1d49477c81475db7852c62eb_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ie021e717a8034b94b15c91882542dcb2_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i6a5336d20c414255b0ffcc55743c89a2_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i0c1963ee5fdb42d889eca4849da21ade_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i4cedc9d62f1e4a8fb8ecb0621bf254ec_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i05e48fe4c38343e1bd3e81feee8a649f_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="if4a9fa20bf334199a0c082d94c13e9ef_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i0e4b3075d3a94e8ebb1831171225f015_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">tls:ServiceBasedRSUAwardsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="if42b9c703b424c209d1adf24e99e4471_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iee95abf8308645dbbaa0e44bfc360ba0_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i61717d106fe6411fb335ab0cb97317f9_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i4f017cd5c0d64babbbaf41bb4ed728c1_I20210128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-28</instant>
        </period>
    </context>
    <context id="i3fd02897295f4a12b56ac480e1d3ed33_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">tls:CertainEmployeesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ib0c3df9e1a2f42bbb1951f719ae88762_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="idc7213aacbf24c32a690e736d0bc4715_D20210101-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="ie44b0d8b4d954dbbadd81d8018345c2d_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i32249302288f4e3d82494cf18435a19a_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i6a9382e6687d4b36b7e74f4117cade8a_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000320121</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="segment">
        <measure>tls:segment</measure>
    </unit>
    <unit id="member">
        <measure>tls:member</measure>
    </unit>
    <unit id="q">
        <measure>utr:Q</measure>
    </unit>
    <unit id="maturity_date_extension">
        <measure>tls:maturity_date_extension</measure>
    </unit>
    <unit id="day">
        <measure>tls:day</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80L2ZyYWc6ZWJjNWY3MWMwYzc5NDYyYWE5YmM5NTAzZTFhMzc3MmYvdGFibGU6ZWUyMGJmNjU5OTRhNDY0OThkMTljN2YwYjVmMTNhMDUvdGFibGVyYW5nZTplZTIwYmY2NTk5NGE0NjQ5OGQxOWM3ZjBiNWYxM2EwNV8zLTEtMS0xLTA_f9a2a2b0-85bf-4650-ad3f-c0c4b4e54df9">0000320121</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80L2ZyYWc6ZWJjNWY3MWMwYzc5NDYyYWE5YmM5NTAzZTFhMzc3MmYvdGFibGU6ZWUyMGJmNjU5OTRhNDY0OThkMTljN2YwYjVmMTNhMDUvdGFibGVyYW5nZTplZTIwYmY2NTk5NGE0NjQ5OGQxOWM3ZjBiNWYxM2EwNV80LTEtMS0xLTA_3115c0bc-307f-4491-a3a1-f1d24f11c561">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:AmendmentFlag
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80L2ZyYWc6ZWJjNWY3MWMwYzc5NDYyYWE5YmM5NTAzZTFhMzc3MmYvdGFibGU6ZWUyMGJmNjU5OTRhNDY0OThkMTljN2YwYjVmMTNhMDUvdGFibGVyYW5nZTplZTIwYmY2NTk5NGE0NjQ5OGQxOWM3ZjBiNWYxM2EwNV81LTEtMS0xLTA_e61c1a4f-5904-4550-8466-f24a73d3dd87">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80L2ZyYWc6ZWJjNWY3MWMwYzc5NDYyYWE5YmM5NTAzZTFhMzc3MmYvdGFibGU6ZWUyMGJmNjU5OTRhNDY0OThkMTljN2YwYjVmMTNhMDUvdGFibGVyYW5nZTplZTIwYmY2NTk5NGE0NjQ5OGQxOWM3ZjBiNWYxM2EwNV82LTEtMS0xLTA_f30f7dd1-11a0-471d-8c95-be6a943723f1">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80L2ZyYWc6ZWJjNWY3MWMwYzc5NDYyYWE5YmM5NTAzZTFhMzc3MmYvdGFibGU6ZWUyMGJmNjU5OTRhNDY0OThkMTljN2YwYjVmMTNhMDUvdGFibGVyYW5nZTplZTIwYmY2NTk5NGE0NjQ5OGQxOWM3ZjBiNWYxM2EwNV83LTEtMS0xLTA_97998ab0-d693-424a-8b45-c7c53de5583e">Q3</dei:DocumentFiscalPeriodFocus>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="icae9b262aece42909972d618da2b1657_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY2NTA_c78469e7-1cae-4965-83e2-d0eda481dfc7">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY3NDc_b4aea532-58dc-4539-8778-459ce0f19b5e">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="if3d8fece43c443e7a985c1216472bdeb_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNjI3_eabda4ff-c026-485c-9d7f-124f6cf5f3b2">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <dei:DocumentType
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODcy_fda70c5f-e659-47c6-bb2b-d5df181eb5fb">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YzgxNzI3OWZkY2Q2NGEyYmJhMWQxMzllMWQxYThhM2QvdGFibGVyYW5nZTpjODE3Mjc5ZmRjZDY0YTJiYmExZDEzOWUxZDFhOGEzZF8wLTAtMS0xLTA_55ebda49-66b3-4626-8457-ef4dc2035c04">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xMzg_6d8be48b-1121-4979-a0b8-7fc91177ffee">2021-09-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YmQyMjI2NGQ0NTYzNDIwMmI4N2UyNGRmYWU5ODNhZGYvdGFibGVyYW5nZTpiZDIyMjY0ZDQ1NjM0MjAyYjg3ZTI0ZGZhZTk4M2FkZl8wLTAtMS0xLTA_bbb65b0d-92d2-4c1c-9f50-d24e9d0799dd">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODc3_7c80b7ec-70c0-46ae-a04d-0cfdaf35f609">001-08443</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODcz_97c1737c-f1f7-4857-a518-7d6100fe04a3">TELOS CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjllZDIyMzMwNmJkNDlmNzg2MGQzMGE1MzAzZjkzNmUvdGFibGVyYW5nZTpiOWVkMjIzMzA2YmQ0OWY3ODYwZDMwYTUzMDNmOTM2ZV8wLTAtMS0xLTA_300b31be-bd81-4130-b1d5-3f368b05c528">MD</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjllZDIyMzMwNmJkNDlmNzg2MGQzMGE1MzAzZjkzNmUvdGFibGVyYW5nZTpiOWVkMjIzMzA2YmQ0OWY3ODYwZDMwYTUzMDNmOTM2ZV8wLTItMS0xLTA_32995597-892c-40a4-a05e-fbda9a14f2be">52-0880974</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjllZDIyMzMwNmJkNDlmNzg2MGQzMGE1MzAzZjkzNmUvdGFibGVyYW5nZTpiOWVkMjIzMzA2YmQ0OWY3ODYwZDMwYTUzMDNmOTM2ZV8zLTAtMS0xLTAvdGV4dHJlZ2lvbjpiMjBiOWRiYTdlYzU0Yjk3OTQzZTIwOTkxNGIyOWZiN180_06a5e6ea-ccf6-425f-abd7-b944334c6e5b">19886 Ashburn Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjllZDIyMzMwNmJkNDlmNzg2MGQzMGE1MzAzZjkzNmUvdGFibGVyYW5nZTpiOWVkMjIzMzA2YmQ0OWY3ODYwZDMwYTUzMDNmOTM2ZV8zLTAtMS0xLTAvdGV4dHJlZ2lvbjpiMjBiOWRiYTdlYzU0Yjk3OTQzZTIwOTkxNGIyOWZiN184_11a4812b-fa23-4f86-997b-5e689bf49728">Ashburn</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjllZDIyMzMwNmJkNDlmNzg2MGQzMGE1MzAzZjkzNmUvdGFibGVyYW5nZTpiOWVkMjIzMzA2YmQ0OWY3ODYwZDMwYTUzMDNmOTM2ZV8zLTAtMS0xLTAvdGV4dHJlZ2lvbjpiMjBiOWRiYTdlYzU0Yjk3OTQzZTIwOTkxNGIyOWZiN18xMg_32e1facd-33c4-463e-b0c8-f790d93c9e60">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjllZDIyMzMwNmJkNDlmNzg2MGQzMGE1MzAzZjkzNmUvdGFibGVyYW5nZTpiOWVkMjIzMzA2YmQ0OWY3ODYwZDMwYTUzMDNmOTM2ZV8zLTItMS0xLTA_3dcf47e0-9ecb-4d7a-a211-4d279b4ebaf2">20147-2358</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODc1_a668eade-d8ba-4f8a-a18e-119a8aeca3d7">703</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODc2_4956e5d4-4ba9-442f-b85b-5742a3d229b7">724-3800</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6MTQ1M2I4NjlhZDI4NDNjODk2YjEwMjExNzhkYjZjZTAvdGFibGVyYW5nZToxNDUzYjg2OWFkMjg0M2M4OTZiMTAyMTE3OGRiNmNlMF8xLTAtMS0xLTA_99f7d505-7f87-4203-8a76-3cebe62e7d39">Common stock, $0.001 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6MTQ1M2I4NjlhZDI4NDNjODk2YjEwMjExNzhkYjZjZTAvdGFibGVyYW5nZToxNDUzYjg2OWFkMjg0M2M4OTZiMTAyMTE3OGRiNmNlMF8xLTEtMS0xLTA_3da35d0b-e3ef-477f-afe4-eed2ab71bae3">TLS</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6MTQ1M2I4NjlhZDI4NDNjODk2YjEwMjExNzhkYjZjZTAvdGFibGVyYW5nZToxNDUzYjg2OWFkMjg0M2M4OTZiMTAyMTE3OGRiNmNlMF8xLTItMS0xLTA_ff67e6a4-dc95-4454-8bef-1c483e25e14c">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODc4_c3992fad-6c69-4505-b72c-8edd314095ff">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODcx_cd1b0b51-34fb-478d-9028-fe82e7c85523">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjNlNjFkOWEwZTJhNDBkNWE5YjIyOGMwYzk0M2NmYzQvdGFibGVyYW5nZTpiM2U2MWQ5YTBlMmE0MGQ1YTliMjI4YzBjOTQzY2ZjNF8xLTAtMS0xLTA_f156ea3d-e244-4856-a9f4-dbfba6e0bf70">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjNlNjFkOWEwZTJhNDBkNWE5YjIyOGMwYzk0M2NmYzQvdGFibGVyYW5nZTpiM2U2MWQ5YTBlMmE0MGQ1YTliMjI4YzBjOTQzY2ZjNF8xLTQtMS0xLTA_0094015a-c8c3-4c8b-ba3e-20af5fc3b67f">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGFibGU6YjNlNjFkOWEwZTJhNDBkNWE5YjIyOGMwYzk0M2NmYzQvdGFibGVyYW5nZTpiM2U2MWQ5YTBlMmE0MGQ1YTliMjI4YzBjOTQzY2ZjNF8yLTQtMS0xLTA_4f94e96f-37a7-44c3-82fe-a9c5bafa4ccd">true</dei:EntityEmergingGrowthCompany>
    <dei:EntityExTransitionPeriod
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODc5_43bb8db5-a607-447b-927b-0420500435e3">false</dei:EntityExTransitionPeriod>
    <dei:EntityShellCompany
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODgw_228752b2-dc40-4c53-b630-7446e767176c">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i7f21fa9b711841c7a69932307b47080a_I20211108"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xL2ZyYWc6OGM0NDY1MmNjMWExNGEyZTg1MmFhYTI2NjE3MzI2ZjIvdGV4dHJlZ2lvbjo4YzQ0NjUyY2MxYTE0YTJlODUyYWFhMjY2MTczMjZmMl8xODQ2_f2b9b855-c70b-41bd-bc25-0720efddc0af"
      unitRef="shares">66755230</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9bdccabf1eed45b9ae7a66f9aec8596e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMy0xLTEtMS0w_b19fc7c1-743f-4dd0-b849-a0a9a49223da"
      unitRef="usd">63690000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4b219e56b34343afb81499bc932f3af5_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMy0zLTEtMS0w_79ca5cf8-8c9e-4b51-876b-dd88566c16d3"
      unitRef="usd">44166000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i377c5cc14a7d467a8594df3891e645f3_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMy01LTEtMS0w_303fc130-f657-4078-abb5-0f0cc4376523"
      unitRef="usd">163366000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic699f336e11144cf99a5482a07ab7e8a_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMy03LTEtMS0w_61314f20-11a0-4b80-9612-c42882b79cfa"
      unitRef="usd">124210000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5b7c406d48fd4b4ca47502fe348d2a62_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNC0xLTEtMS0w_316031e8-1a7d-41da-a063-3fdd6062d918"
      unitRef="usd">6376000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i92d2730ea99c4874b2b14218a6b4f3c6_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNC0zLTEtMS0w_8e655782-437c-41d2-bf69-fe20b5e75c2d"
      unitRef="usd">3274000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i155cd560e207411dbb91e421a23d1610_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNC01LTEtMS0w_f7467625-5ed1-4161-9d78-e33cf2422970"
      unitRef="usd">15017000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i97512c4058754b39a660ac53da0d8546_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNC03LTEtMS0w_43abd5fe-8f8d-4408-b466-3d2dc9d83054"
      unitRef="usd">10819000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNS0xLTEtMS0w_955e5044-36ef-4ea5-be5c-3175ceae19e2"
      unitRef="usd">70066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNS0zLTEtMS0w_432b6faa-5e05-46d7-8a11-2dc8303ffd1b"
      unitRef="usd">47440000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNS01LTEtMS0w_2c98d94e-19f4-4954-8041-e64253557386"
      unitRef="usd">178383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNS03LTEtMS0w_8bc0b7b0-d1d9-4410-93db-cb88889c80e4"
      unitRef="usd">135029000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i9bdccabf1eed45b9ae7a66f9aec8596e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNy0xLTEtMS0w_48d47415-2493-4e93-acd9-421a6d8ba29c"
      unitRef="usd">40031000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4b219e56b34343afb81499bc932f3af5_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNy0zLTEtMS0w_2d27b70f-879a-4acc-a385-0ab4678c84df"
      unitRef="usd">28619000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i377c5cc14a7d467a8594df3891e645f3_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNy01LTEtMS0w_5e4d5af1-c7d1-44bd-9f23-71120f1af1d3"
      unitRef="usd">109134000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ic699f336e11144cf99a5482a07ab7e8a_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfNy03LTEtMS0w_c9dabac2-4658-4040-8376-7e64c1721e0a"
      unitRef="usd">82862000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i5b7c406d48fd4b4ca47502fe348d2a62_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfOC0xLTEtMS0w_baa45f11-636a-45c0-a9be-2397857644c8"
      unitRef="usd">3967000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i92d2730ea99c4874b2b14218a6b4f3c6_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfOC0zLTEtMS0w_a1a629a5-8839-425a-8134-13f609fe2742"
      unitRef="usd">2259000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i155cd560e207411dbb91e421a23d1610_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfOC01LTEtMS0w_ba250bac-0d62-4c95-9740-248162ab84ae"
      unitRef="usd">8266000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i97512c4058754b39a660ac53da0d8546_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfOC03LTEtMS0w_dfe3f50f-c36b-4411-933e-927975b0f621"
      unitRef="usd">5790000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfOS0xLTEtMS0w_072221eb-fe50-4ce2-96a2-87a842a3fad2"
      unitRef="usd">43998000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfOS0zLTEtMS0w_c99b5394-b8cc-4c4a-b930-32131704f763"
      unitRef="usd">30878000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfOS01LTEtMS0w_24516c5d-73d5-40d2-abb2-41545ec99912"
      unitRef="usd">117400000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfOS03LTEtMS0w_73cc7710-f6ac-47ed-b9e2-3ef4ebdad422"
      unitRef="usd">88652000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTEtMS0xLTEtMA_13e56a60-4d96-444a-8eec-dc5c93e03940"
      unitRef="usd">5363000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTEtMy0xLTEtMA_9abaaa7e-2b19-4bc4-8fcd-1a75b858e525"
      unitRef="usd">1491000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTEtNS0xLTEtMA_3fc4fa0c-2f2b-4fbb-b732-187fc71aaa45"
      unitRef="usd">14233000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTEtNy0xLTEtMA_397dd3b7-65a5-4e02-af93-4adc228b57f8"
      unitRef="usd">4556000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTItMS0xLTEtMA_232131c7-9868-4467-b51a-c42c69031dc2"
      unitRef="usd">5396000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTItMy0xLTEtMA_8680407f-d009-4205-97ce-fa2b9c8bfc11"
      unitRef="usd">3598000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTItNS0xLTEtMA_f11720cf-377c-401a-be93-839fe7960864"
      unitRef="usd">14783000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTItNy0xLTEtMA_3521c089-e36c-412a-b91d-994d5b8fe8e9"
      unitRef="usd">11070000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTMtMS0xLTEtMA_58796775-0bcc-43b8-8abb-60a9174ec9f3"
      unitRef="usd">20562000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTMtMy0xLTEtMA_90bc1569-d77e-480a-8155-eaae01e5a192"
      unitRef="usd">6960000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTMtNS0xLTEtMA_0ac765a9-0337-418c-8cad-f9832012d550"
      unitRef="usd">69271000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTMtNy0xLTEtMA_e4bd87d3-f28d-4344-8330-0e647042dc1b"
      unitRef="usd">20769000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTQtMS0xLTEtMA_8d37f12b-6100-40f3-af2c-728759a9b3dd"
      unitRef="usd">31321000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTQtMy0xLTEtMA_7328facc-d2be-4574-8d22-69f401a509e5"
      unitRef="usd">12049000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTQtNS0xLTEtMA_0d6cfb09-630e-47b1-93ef-9b94c0a8b221"
      unitRef="usd">98287000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTQtNy0xLTEtMA_551c6117-c81f-4ee7-a2ab-c95c33163404"
      unitRef="usd">36395000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTUtMS0xLTEtMA_62e7cc2e-eee7-434f-adcb-022d60631b67"
      unitRef="usd">-5253000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTUtMy0xLTEtMA_324e554a-70f6-413e-b618-7759ac92f837"
      unitRef="usd">4513000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTUtNS0xLTEtMA_bbb9f420-ad70-49b9-b0ee-f4dd85a3932c"
      unitRef="usd">-37304000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTUtNy0xLTEtMA_6d3f9514-87ab-4634-b46c-1717155a3459"
      unitRef="usd">9982000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTctMS0xLTEtMA_f3014bdb-e06b-4a3c-a653-daf6829a96cd"
      unitRef="usd">20000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTctMy0xLTEtMA_1af30be6-d950-4e00-8874-8e39388fa59d"
      unitRef="usd">2000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTctNS0xLTEtMA_fa018c38-4aaf-44a4-8aa1-5f83040e7b11"
      unitRef="usd">-1001000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTctNy0xLTEtMA_5afbc6c7-b84d-4f2f-8ae2-a14b907cdff4"
      unitRef="usd">14000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestExpense
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTgtMS0xLTEtMA_bf32b48d-b1a2-4a4b-986a-9530ba660ccd"
      unitRef="usd">195000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTgtMy0xLTEtMA_18257169-841b-4623-9810-8ebb3c124045"
      unitRef="usd">2013000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTgtNS0xLTEtMA_bd0e7dd6-683a-43af-a3c9-7d6eaa9ef9fc"
      unitRef="usd">583000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTgtNy0xLTEtMA_789088bf-4093-4df7-ad48-d5ef72f6a95c"
      unitRef="usd">6026000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTktMS0xLTEtMA_c580f1e0-aea7-4201-9831-ffd0ca9ccd8d"
      unitRef="usd">-5428000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTktMy0xLTEtMA_195e2083-d2b9-4e7f-8213-529774b043c2"
      unitRef="usd">2502000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTktNS0xLTEtMA_32aaea9e-c04a-4186-bf97-4c0ba92420ac"
      unitRef="usd">-38888000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMTktNy0xLTEtMA_ae7df916-edd4-4921-9d0e-ff32be403573"
      unitRef="usd">3970000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjAtMS0xLTEtMA_f4d5ea89-a7bd-4a60-bca0-35c4bf34d861"
      unitRef="usd">-41000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjAtMy0xLTEtMA_09b43c6f-8140-452d-a6ee-d0cb4197d05e"
      unitRef="usd">8000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjAtNS0xLTEtMA_209a3983-7bba-4a80-a573-6494b7666106"
      unitRef="usd">6000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjAtNy0xLTEtMA_06164fc4-d1a5-4bfa-a1c4-1e822a9c4be4"
      unitRef="usd">-136000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjEtMS0xLTEtMA_17ed0f06-acee-4f7f-8c67-4fddcb1d3c5a"
      unitRef="usd">-5387000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjEtMy0xLTEtMA_2f2bdfbd-7e5c-406f-bde3-d27010626e16"
      unitRef="usd">2494000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjEtNS0xLTEtMA_d701f8f0-1668-47f1-b5a2-a779d676fd8e"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjEtNy0xLTEtMA_57583e40-6f5b-4ff2-8120-dbe8206f9602"
      unitRef="usd">4106000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjItMS0xLTEtMA_f52f7149-4fd6-46ed-8b8c-24be80b9f9b8"
      unitRef="usd">0</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjItMy0xLTEtMA_4913f96c-e8fb-4af6-9f41-35cb7acc9244"
      unitRef="usd">2694000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjItNS0xLTEtMA_a5c0174b-a2b6-41ce-b9c6-132aee733f51"
      unitRef="usd">0</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjItNy0xLTEtMA_4ddcc856-40a5-420b-9c18-540137dd1883"
      unitRef="usd">6284000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjMtMS0xLTEtMA_ac630af3-1bcd-483c-b1b1-de9f84fef051"
      unitRef="usd">-5387000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjMtMy0xLTEtMA_c5d53094-e6eb-47d4-a7f8-b768dee0afdd"
      unitRef="usd">-200000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjMtNS0xLTEtMA_a690ac3d-a940-43b5-a88b-25f694ab80bb"
      unitRef="usd">-38894000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjMtNy0xLTEtMA_8f1370db-1079-4ae1-bd59-9417d948619d"
      unitRef="usd">-2178000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjQtMS0xLTEtMA_7437cdf2-f3f7-49cd-9ac5-c301280bba0b"
      unitRef="usdPerShare">-0.08</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjQtMy0xLTEtMA_01396022-0028-4c3e-a46e-c6acf415108d"
      unitRef="usdPerShare">-0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjQtNS0xLTEtMA_5e8b2886-379a-4fe5-851b-d0dad67dee8b"
      unitRef="usdPerShare">-0.59</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjQtNy0xLTEtMA_b3b30117-facc-449e-bb97-090a79d8874f"
      unitRef="usdPerShare">-0.06</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjUtMS0xLTEtMA_ec9c6db5-23c2-4c17-8919-a00d710aee7f"
      unitRef="usdPerShare">-0.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjUtMy0xLTEtMA_a9dcc62a-d236-4221-aebb-d9e33489fc44"
      unitRef="usdPerShare">-0.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjUtNS0xLTEtMA_c5ca9694-867f-433b-9847-163b60b5eee8"
      unitRef="usdPerShare">-0.59</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjUtNy0xLTEtMA_61615f56-7bae-404d-acea-3ff70ff186e8"
      unitRef="usdPerShare">-0.06</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjYtMS0xLTEtMA_4ee92bba-d992-428d-a153-aac429310c29"
      unitRef="shares">66755000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjYtMy0xLTEtMA_d35b8c6a-69b4-4881-8765-2c0e98c02d1b"
      unitRef="shares">39002000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjYtNS0xLTEtMA_14f48352-e124-43b4-a18b-a9e505458cfd"
      unitRef="shares">65999000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjYtNy0xLTEtMA_b715fab6-c2a1-4134-8c2c-ccb95ce32d40"
      unitRef="shares">38554000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjctMS0xLTEtMA_c85a0bf3-91a0-402c-86e1-e2802cc398ef"
      unitRef="shares">66755000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjctMy0xLTEtMA_109a805a-3a06-491c-bcd1-cb564562c240"
      unitRef="shares">39002000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjctNS0xLTEtMA_c49d58fd-e6bd-4ffb-821a-671c1c0cac5f"
      unitRef="shares">65999000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xNi9mcmFnOjQ1YTA5NzkwMGQ3NjRhNjI4NmMyOWNkYzk4MGFhNTExL3RhYmxlOmYyYTBhZDdhOGI2MjQ0MGVhYTNlODFiZDRlMWQ0N2ZiL3RhYmxlcmFuZ2U6ZjJhMGFkN2E4YjYyNDQwZWFhM2U4MWJkNGUxZDQ3ZmJfMjctNy0xLTEtMA_e2b3d0a0-7fc1-47ff-ade6-4efb7d930aa9"
      unitRef="shares">38554000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfMi0xLTEtMS0w_5a19b542-4332-437d-9709-b4277a58dbdd"
      unitRef="usd">-5387000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfMi0zLTEtMS0w_1d0c6448-2511-4bc0-96d1-1335a13dc6a3"
      unitRef="usd">2494000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfMi01LTEtMS0w_3e68d5a8-bf04-469c-96ef-9eb0ace32ea1"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfMi03LTEtMS0w_f8a0404f-9d3e-4e2a-8f53-6b6b33ffdfd1"
      unitRef="usd">4106000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNC0xLTEtMS0w_44c329f2-982b-4376-94ab-c9f70a80334a"
      unitRef="usd">-13000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNC0zLTEtMS0w_88a98e30-30a0-4f2f-9b07-ed4ba71345c8"
      unitRef="usd">-2000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNC01LTEtMS0w_dcbac9c2-f2a0-4f60-8147-150d53223adb"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNC03LTEtMS0w_9809a583-5675-490e-afda-405c35d9c71a"
      unitRef="usd">-1000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNS0xLTEtMS0w_d3786865-eb6d-43ad-af53-b20838e35ead"
      unitRef="usd">0</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNS0zLTEtMS0w_686db932-d5cc-4698-91db-cf01b75248ca"
      unitRef="usd">2694000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNS01LTEtMS0w_facd99cc-b0be-4d61-b7ed-73f8b7f505ea"
      unitRef="usd">0</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNS03LTEtMS0w_9b4d8c17-a80c-485f-8508-06fa1c2fb675"
      unitRef="usd">6284000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNi0xLTEtMS0w_d930514d-8794-43af-808b-e0a8482abec9"
      unitRef="usd">-5400000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNi0zLTEtMS0w_81078cdc-042c-41fc-ae9f-ade8a623cf4d"
      unitRef="usd">-202000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNi01LTEtMS0w_1069cedd-09ca-4ba3-9163-192d7a9243bf"
      unitRef="usd">-38934000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xOS9mcmFnOjQ5MmZjMzcwNDIyNzQyNjk5YzdjYmU4N2ZjYmUwMjc0L3RhYmxlOmJmOGU4NDE2ODUxODRmMTc5NTA5NDA0NTYxOTVjYmJkL3RhYmxlcmFuZ2U6YmY4ZTg0MTY4NTE4NGYxNzk1MDk0MDQ1NjE5NWNiYmRfNi03LTEtMS0w_b1f30e95-1cd5-4279-9ad6-57b6c82b61e6"
      unitRef="usd">-2179000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNC0xLTEtMS0w_f10f351f-86fb-4117-b093-0d7fdb780bbd"
      unitRef="usd">134135000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNC0zLTEtMS0w_e6c89085-634a-4c9e-ab16-82b2fd078355"
      unitRef="usd">106045000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNS0wLTEtMS0wL3RleHRyZWdpb246NjNjMDU1NTZmYjFkNGEwNWJjYWRmNThjNDY0YjRjZDBfNDM_888fcece-fb3a-4b8d-af4c-8feabe182636"
      unitRef="usd">116000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNS0wLTEtMS0wL3RleHRyZWdpb246NjNjMDU1NTZmYjFkNGEwNWJjYWRmNThjNDY0YjRjZDBfNTA_b732e44e-98ea-4ea4-bfdd-1abcad4445a6"
      unitRef="usd">308000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNS0xLTEtMS0w_b9bdb01e-05c5-4bea-b454-8cf4e4ebfee4"
      unitRef="usd">49759000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNS0zLTEtMS0w_dc2becf5-27aa-4b4a-93e6-313330c5ef5e"
      unitRef="usd">30913000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:InventoryValuationReserves
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNi0wLTEtMS0wL3RleHRyZWdpb246OWU5ZjBmYWMyZGRkNGI2ODkzYjMzOGY4YTA0ZjVlNGFfNDg_74805836-7c01-4b0c-9c36-056f0a44e8e1"
      unitRef="usd">849000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNi0wLTEtMS0wL3RleHRyZWdpb246OWU5ZjBmYWMyZGRkNGI2ODkzYjMzOGY4YTA0ZjVlNGFfNTU_5faf4236-828b-48cc-9882-5ff91f36e9b8"
      unitRef="usd">851000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNet
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNi0xLTEtMS0w_0e85ee8b-b073-4881-a02c-c63cd55bb57a"
      unitRef="usd">2025000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNi0zLTEtMS0w_1c45f536-ad71-424b-a97d-8aa322add4ac"
      unitRef="usd">3311000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNy0xLTEtMS0w_ee8c38a4-b17c-4fa4-8909-19c289e9cf60"
      unitRef="usd">5440000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfNy0zLTEtMS0w_20beecc3-7cb4-47fc-9124-d143714815b3"
      unitRef="usd">3059000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfOC0xLTEtMS0w_03bfbfb5-cfdc-4bea-ab69-e8c227445a97"
      unitRef="usd">941000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfOC0zLTEtMS0w_43ec8f68-951d-4572-90e5-615b36e461d2"
      unitRef="usd">786000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfOS0xLTEtMS0w_54ab0f40-ff29-4061-a81f-a6b8da1f3a8a"
      unitRef="usd">192300000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfOS0zLTEtMS0w_0eb7c62f-fe98-4f72-a0ba-d58f8c705f5d"
      unitRef="usd">144114000</us-gaap:AssetsCurrent>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTAtMC0xLTEtMC90ZXh0cmVnaW9uOjRjOGU1ZDk2Njc5NDRhNjZhZGU5OTdiMmZiYzkwMWJiXzEzMA_bd0251e1-2b33-4e78-9658-e0518bb0eea8"
      unitRef="usd">33805000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTAtMC0xLTEtMC90ZXh0cmVnaW9uOjRjOGU1ZDk2Njc5NDRhNjZhZGU5OTdiMmZiYzkwMWJiXzEzNw_98829e58-c099-4ce8-ab5c-0ec4453eb4e4"
      unitRef="usd">32057000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTAtMS0xLTEtMA_106bad45-61df-43d9-8b90-c16e7499312d"
      unitRef="usd">14363000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTAtMy0xLTEtMA_ca191ff5-6fcb-4d59-a124-71824963c0a6"
      unitRef="usd">14977000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTEtMS0xLTEtMA_2878ed12-c023-43ce-bb37-ef3f0e862ec4"
      unitRef="usd">1004000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTEtMy0xLTEtMA_bc157751-55a4-4c31-a238-2a96ffe6df3e"
      unitRef="usd">1464000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTItMS0xLTEtMA_20568aea-d749-4916-9486-6386e5aa193c"
      unitRef="usd">16642000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTItMy0xLTEtMA_45a9b51b-ce3f-4353-8c2f-03f2c251b168"
      unitRef="usd">14916000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTMtMS0xLTEtMTIzODg_fca52f30-80c3-4865-8860-d7705ea5573a"
      unitRef="usd">17102000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTMtMy0xLTEtMTQ1Mg_3bfe987b-8ca2-4f7f-8f46-f4869d1adfbf"
      unitRef="usd">7420000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTMtMS0xLTEtMA_476aa44c-25da-4128-b360-fe536688333d"
      unitRef="usd">1256000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTMtMy0xLTEtMA_7f52eaff-9c22-491f-b969-134064e61699"
      unitRef="usd">926000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTQtMS0xLTEtMA_61919085-881a-4d6f-8ce5-d89367e07641"
      unitRef="usd">242667000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTQtMy0xLTEtMA_53bf3bba-c219-4122-9701-0b8c040483c0"
      unitRef="usd">183817000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTQtMy0xLTEtMA_e0599f51-f6af-4030-a995-acaf0e6c8956"
      unitRef="usd">183817000</us-gaap:Assets>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTctMS0xLTEtMA_42fb10e8-eaea-41d1-ac72-2cdd192c5967"
      unitRef="usd">35102000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTctMy0xLTEtMA_28535c78-f732-405d-bc46-76f5205c815f"
      unitRef="usd">20899000</us-gaap:AccountsPayableAndOtherAccruedLiabilitiesCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTgtMS0xLTEtMA_d74d3c4c-9b58-4b17-aed5-264f25ee92ca"
      unitRef="usd">7955000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:DeferredCompensationLiabilityCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTgtMy0xLTEtMA_244c520b-e3fa-400e-a520-b278c5e9e896"
      unitRef="usd">8474000</us-gaap:DeferredCompensationLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTktMS0xLTEtMA_8554a4fe-b9e9-4609-8859-67f6864e0519"
      unitRef="usd">7232000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMTktMy0xLTEtMA_429509b4-cbe2-4784-9387-2e97296d96be"
      unitRef="usd">5654000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjAtMS0xLTEtMA_6e4b20a4-2154-49ea-acb1-c93e7ea3c610"
      unitRef="usd">1430000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjAtMy0xLTEtMA_cbf1c096-6c92-449c-a679-b00e5e5e2f84"
      unitRef="usd">1339000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjEtMS0xLTEtMA_8112784b-dde6-4b6c-a23e-9d9e25ac11f9"
      unitRef="usd">602000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjEtMy0xLTEtMA_92f39a57-51d1-48b8-b7b6-731b1a1b99fa"
      unitRef="usd">677000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjItMS0xLTEtMA_84a87ded-7113-497a-bdcc-60b9902d5ac5"
      unitRef="usd">2089000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjItMy0xLTEtMA_f7817385-91be-4a6e-b627-23e6cd9e6dde"
      unitRef="usd">1903000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjMtMS0xLTEtMA_79026b7c-f118-4dd7-981f-b1b71573c5b2"
      unitRef="usd">54410000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjMtMy0xLTEtMA_0d97979f-f70f-403d-ba28-7da0461d782c"
      unitRef="usd">38946000</us-gaap:LiabilitiesCurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjUtMS0xLTEtMA_ab498848-bcf7-4937-ba54-3df02e6641ea"
      unitRef="usd">13218000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjUtMy0xLTEtMA_1973d406-3d9e-4634-90c2-d21ad171e36d"
      unitRef="usd">14301000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjYtMS0xLTEtMA_e6a1a62f-280b-4102-a191-b9f5ae7b8ada"
      unitRef="usd">516000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjYtMy0xLTEtMA_e93f1bc9-d2b0-403a-9c0d-035d0dbe5210"
      unitRef="usd">941000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjctMS0xLTEtMA_8a9d8296-cfa8-41cf-b93e-484929374fa0"
      unitRef="usd">680000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjctMy0xLTEtMA_01accc91-9034-4424-934c-6318b67ca74f"
      unitRef="usd">652000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjgtMS0xLTEtMA_1e6f5f47-bfd7-48f1-9f21-6a6b98cd4e3b"
      unitRef="usd">2352000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjgtMy0xLTEtMA_6ff3b4b6-a7ec-459f-b10f-125f1a6897b8"
      unitRef="usd">1873000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjktMS0xLTEtMA_ae5b8b28-1f22-4385-8ce6-a712af4bca68"
      unitRef="usd">71176000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMjktMy0xLTEtMA_5b776d3c-713f-41bf-a096-73433bda98ff"
      unitRef="usd">56713000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzEtMS0xLTEtMA_c606eebc-3e95-4e64-89b3-26908d751626"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzEtMy0xLTEtMA_8124b92b-1f5c-4efc-8e64-a3d6291cc1ba"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOjE2YTU3YjlhYTY4YTQ2NTI4MTEwY2U4NzNmYTUyOGNlXzE4_261181fd-354c-44a8-9722-8658f736a8c6"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOjE2YTU3YjlhYTY4YTQ2NTI4MTEwY2U4NzNmYTUyOGNlXzE4_a296eb96-1662-487a-9ac3-f7c1907d5b05"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOjE2YTU3YjlhYTY4YTQ2NTI4MTEwY2U4NzNmYTUyOGNlXzMy_7e1e48d0-dc44-42b6-82c6-35b5c724417d"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOjE2YTU3YjlhYTY4YTQ2NTI4MTEwY2U4NzNmYTUyOGNlXzMy_b0825ae7-31f3-4fab-9a6c-6f0dded9d21a"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOjE2YTU3YjlhYTY4YTQ2NTI4MTEwY2U4NzNmYTUyOGNlXzU0_38a9ceb0-b698-4c12-a49e-c8e214141c86"
      unitRef="shares">66755230</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOjE2YTU3YjlhYTY4YTQ2NTI4MTEwY2U4NzNmYTUyOGNlXzU0_4d2f1e4b-8719-40ea-bfd0-0d3f6841b52e"
      unitRef="shares">66755230</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOjE2YTU3YjlhYTY4YTQ2NTI4MTEwY2U4NzNmYTUyOGNlXzY4_887770b6-7bde-49ba-8d8f-92f28c49f663"
      unitRef="shares">64625071</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMC0xLTEtMC90ZXh0cmVnaW9uOjE2YTU3YjlhYTY4YTQ2NTI4MTEwY2U4NzNmYTUyOGNlXzY4_da61f482-35bc-4d21-94c1-522b8c160334"
      unitRef="shares">64625071</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMS0xLTEtMA_7c028125-e84a-4ee7-9c8b-d17134dfbe45"
      unitRef="usd">105000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzQtMy0xLTEtMA_d74e568e-2076-4efa-be17-882a9876d337"
      unitRef="usd">103000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzUtMS0xLTEtMA_7752def5-eee8-4879-9c3b-253c7764846e"
      unitRef="usd">354119000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzUtMy0xLTEtMA_f35525a5-bfa4-42bc-aa7d-5a2338df2147"
      unitRef="usd">270800000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzYtMS0xLTEtMA_f335de5d-a221-4243-af4a-a8e274c4429d"
      unitRef="usd">4000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzYtMy0xLTEtMA_6439f30f-f0c6-450f-8a6d-fc11eca13141"
      unitRef="usd">44000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzctMS0xLTEtMA_1706950a-4512-4c20-9398-f51a1f413f2a"
      unitRef="usd">-182737000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzctMy0xLTEtMA_b3df79a3-f92b-4b39-9d59-5b50f953156e"
      unitRef="usd">-143843000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzgtMS0xLTEtMA_bc694714-4ee7-40eb-854f-048627564b90"
      unitRef="usd">171491000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzgtMy0xLTEtMA_844cea90-4d86-4915-bd71-4826c4276a3a"
      unitRef="usd">127104000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzktMS0xLTEtMA_65d42853-6d6a-4687-a3d0-9e97706eb246"
      unitRef="usd">242667000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yMi9mcmFnOmMzNzM3MTliNTljZDRhMTRhZDY4Y2U5Yzk1YTc5NTA2L3RhYmxlOjM5Y2U2OGNjM2ExNzQ2ZDA4MGIxOTFlMGFiZTcyMjE1L3RhYmxlcmFuZ2U6MzljZTY4Y2MzYTE3NDZkMDgwYjE5MWUwYWJlNzIyMTVfMzktMy0xLTEtMA_49f158c7-bfd2-4a7e-aa7a-0d7328ecf896"
      unitRef="usd">183817000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMy0xLTEtMS0w_5f387271-1c59-4333-b984-d0d08efa0513"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMy0zLTEtMS0w_cd576247-9725-4bcf-815f-446bb4ede624"
      unitRef="usd">4106000</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNS0xLTEtMS0w_8e20088e-46d1-4286-9c1f-655b4d337c10"
      unitRef="usd">47197000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNS0zLTEtMS0w_fd1f5568-5f63-4490-a98d-a06f5297d009"
      unitRef="usd">4000</us-gaap:ShareBasedCompensation>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNi0xLTEtMS0w_3a212ab2-3c17-48c7-9421-c578ac4db080"
      unitRef="usd">0</tls:DividendsPreferredStockAsInterestExpense>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNi0zLTEtMS0w_fad10e19-5d76-47e8-9e14-3bd5782d7b18"
      unitRef="usd">-2867000</tls:DividendsPreferredStockAsInterestExpense>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNy0xLTEtMS0w_ae97ec98-84a8-4369-8bbd-2c78864d121d"
      unitRef="usd">4223000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNy0zLTEtMS0w_22b6ffa1-1158-47ca-bcb5-0d215730649d"
      unitRef="usd">4018000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfOC0xLTEtMS0w_283f1bf7-c835-4e12-9dc6-da9a45638293"
      unitRef="usd">0</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfOC0zLTEtMS0w_93a81f56-3d6b-40ba-856d-7e1ea53f7004"
      unitRef="usd">684000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfOS0xLTEtMS0w_73256fa8-685f-43d5-ba81-fdb0790603b5"
      unitRef="usd">28000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfOS0zLTEtMS0w_ae8ebb5e-476f-43d3-8675-a452ad11cda5"
      unitRef="usd">28000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTEtMS0xLTEtMA_5dd9ea68-4ed7-40f3-9b45-c706bd812270"
      unitRef="usd">-14000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTEtMy0xLTEtMA_2b563546-a47e-4383-be3d-5bd72cd6bb72"
      unitRef="usd">25000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTItMS0xLTEtMA_7a43dc48-6f37-4b4a-9f40-0b5431fb4e66"
      unitRef="usd">5900000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTItMy0xLTEtMA_b859c01f-bfbc-483c-9185-949883389b78"
      unitRef="usd">-275000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTMtMS0xLTEtMA_b2450f7b-36b1-4181-9cee-40a6c5ff883f"
      unitRef="usd">6668000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTMtMy0xLTEtMA_cd4998ac-ee14-41ad-832e-7411a787671d"
      unitRef="usd">11957000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTUtMS0xLTEtMTI1MjQ_60490fae-e497-4b35-b39d-03623a6dcc3c"
      unitRef="usd">5925000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTUtMy0xLTEtMTI1MzE_f89e5c64-40b2-43d7-b69f-d8814c5d54c2"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTYtMS0xLTEtMA_068fb838-4c68-4e3f-b254-bcc05468f11d"
      unitRef="usd">6139000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTYtMy0xLTEtMA_39865eb1-1ee0-4f57-898d-857feb68e289"
      unitRef="usd">5459000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTctMS0xLTEtMA_8704c725-113a-49e9-bc7b-4246a1fe44df"
      unitRef="usd">1645000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTctMy0xLTEtMA_0b5d8641-c8d0-4ab5-8b17-1bdfe288bbe6"
      unitRef="usd">624000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTgtMS0xLTEtMA_415f3e99-986f-47d4-bd23-d3b175a9dde6"
      unitRef="usd">-13709000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMTgtMy0xLTEtMA_7f8f661d-eee0-467d-9e55-7cdb21d2d86f"
      unitRef="usd">-6083000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjEtMS0xLTEtMA_8cd8ddfd-61c2-4c33-b878-a6088eee5a1a"
      unitRef="usd">64269000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjEtMy0xLTEtMA_a6ea51e4-4220-4093-b4ae-5edf79c08358"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjItMS0xLTEtMA_84246030-3c17-4518-82ec-0f5b0d9107c0"
      unitRef="usd">26894000</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjItMy0xLTEtMA_af45b3ed-6267-462f-b6e2-48df8b5289fc"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjMtMS0xLTEtMA_6dfd1e8d-6998-4902-9544-0e705d90a142"
      unitRef="usd">1251000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjMtMy0xLTEtMA_d05182a4-947a-4d5c-a629-4d933883f0c6"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjQtMS0xLTEtMA_5cac26e9-54e8-478a-872d-82009b9c5a54"
      unitRef="usd">993000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjQtMy0xLTEtMA_4dc45687-6df7-43d7-900f-e5c5a0fd5275"
      unitRef="usd">907000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:PaymentsOfDebtRestructuringCosts
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjUtMS0xLTEtMA_7cf77e46-96cd-45b5-bf6a-79ef1e7e6a76"
      unitRef="usd">0</us-gaap:PaymentsOfDebtRestructuringCosts>
    <us-gaap:PaymentsOfDebtRestructuringCosts
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjUtMy0xLTEtMA_09055463-247a-48f7-93fc-7d2f57f95bb7"
      unitRef="usd">100000</us-gaap:PaymentsOfDebtRestructuringCosts>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjYtMS0xLTEtMA_f7919a40-5b57-4631-a512-c1e2c6c60b3e"
      unitRef="usd">0</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:PaymentsToMinorityShareholders
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjYtMy0xLTEtMA_c645fbfa-990c-4f54-aed9-c9cb5efe2b4c"
      unitRef="usd">1292000</us-gaap:PaymentsToMinorityShareholders>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjctMS0xLTEtMA_8eeb8043-111f-4e7a-9e1e-a28143dd1e36"
      unitRef="usd">35131000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjctMy0xLTEtMA_5a14c149-50ec-4496-b37b-4c40dbe18660"
      unitRef="usd">-2299000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjktMS0xLTEtMA_65757595-41a9-4859-9ded-f1a2c247fbce"
      unitRef="usd">28090000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMjktMy0xLTEtMA_fec7968e-b5db-466e-9f0b-feea907541a1"
      unitRef="usd">3575000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMzAtMS0xLTEtMA_661b3224-47f6-453c-ad2b-c01ff8b0d7c4"
      unitRef="usd">106045000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i01fc102cadf14836a4710efad2cf7ca4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMzAtMy0xLTEtMA_0d30e9f3-64d2-4fde-947b-f7c8e605604e"
      unitRef="usd">6751000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMzItMS0xLTEtMA_739cdf39-65f1-4010-9203-2ad8645e409c"
      unitRef="usd">134135000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMzItMy0xLTEtMA_d1ff98f5-ccf0-461b-ac7f-b0c9df289419"
      unitRef="usd">10326000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMzYtMS0xLTEtMA_11b9fda6-085f-4fe4-803e-35336b78e29b"
      unitRef="usd">583000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMzYtMy0xLTEtMA_bd127407-9d58-4175-98c4-8ffe89b43c25"
      unitRef="usd">2211000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMzctMS0xLTEtMA_6820870a-7bd4-4c40-b925-de0df49abe4f"
      unitRef="usd">54000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfMzctMy0xLTEtMA_4d07125f-3265-4120-950c-b051efa30b84"
      unitRef="usd">50000</us-gaap:IncomeTaxesPaid>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNDAtMS0xLTEtMA_8eccdebd-e66e-4be1-987b-2d6f2efc7364"
      unitRef="usd">0</tls:DividendsPreferredStockAsInterestExpense>
    <tls:DividendsPreferredStockAsInterestExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNDAtMy0xLTEtMA_3c9bf607-09cb-4e42-afc1-1dbe936d5c6b"
      unitRef="usd">-2867000</tls:DividendsPreferredStockAsInterestExpense>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNDItMS0xLTEtMTU3NDA_12d63753-2bb9-43a9-83c0-04dfac91affb"
      unitRef="usd">506000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yNS9mcmFnOmViMWJjMzQ2ZTg1NzRlMDE4ZjViYjVlN2QyOGVhMmM2L3RhYmxlOmRjODljZjFhNGYzMzRjNWM5MmM4YTQwZTcwMTBjYzdkL3RhYmxlcmFuZ2U6ZGM4OWNmMWE0ZjMzNGM1YzkyYzhhNDBlNzAxMGNjN2RfNDItMy0xLTEtMTU3NDA_96017287-63b8-4738-a475-b22d8c053788"
      unitRef="usd">0</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i1f894f6a80b54936924b4d1c8cbbd8cb_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMi0xLTEtMS0w_e2f1968b-5a01-4acc-9015-4a3af1cb309d"
      unitRef="usd">105000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8825df93d21e40c7b03aaa5d1806b160_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMi0zLTEtMS0w_99e274ee-89ad-449b-96b2-6637b36abd6a"
      unitRef="usd">341928000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i94d7bf455afd4164aab03d0eebc840aa_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMi01LTEtMS0w_459a4160-fc1d-4924-8a96-77d3584e7000"
      unitRef="usd">17000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4d6bc4e46f484b9ab04a634087edb8dc_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMi03LTEtMS0w_3398ae2c-7caf-40f2-8f0e-eed6e63f724c"
      unitRef="usd">-177350000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i3aeac0029c9f447e9a1873e66e2a6671_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMi05LTEtMS0w_14c6c723-d513-4d76-a3d5-797b7439071f"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i93b811faab814819b7f62be29e18a6ac_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMi0xMS0xLTEtMA_435ce4de-e001-47cd-b775-f2741cc1beac"
      unitRef="usd">164700000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="ib54e9da5b1b549e987e5e977c6e72404_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMy03LTEtMS0w_7988db45-b49f-4daa-ad70-1d55099fa5d5"
      unitRef="usd">-5387000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMy0xMS0xLTEtMA_5df09fa0-434b-49ac-93e2-67274e38f4c8"
      unitRef="usd">-5387000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i97f14edc8ddd46d88d7d2238077f63e8_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfNS01LTEtMS0w_9a163dec-97ae-4612-a541-4b22b7f00012"
      unitRef="usd">-13000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfNS0xMS0xLTEtMA_10bfbf0a-9a18-493a-b857-50eadffcbf2f"
      unitRef="usd">-13000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i0fbf97b2c2b5490f9700eb5101bcf8db_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfNi0zLTEtMS0w_a7ee5c61-6ee1-4f35-9ee3-52f8a4f5032f"
      unitRef="usd">12191000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfNi0xMS0xLTEtMA_a54fd528-ef3a-492c-8def-567cb7ed4d39"
      unitRef="usd">12191000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iab5885ba17b24199a4968b09454df7c0_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfOS0xLTEtMS0w_9f26e8e2-3ebf-480b-bbea-b34d6be3f36c"
      unitRef="usd">105000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i5a8108856eab41a6823d71142e0eedb8_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfOS0zLTEtMS0w_d495c832-e0f7-4b05-9710-07f78466895c"
      unitRef="usd">354119000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i17c3a9b3e32b4b9d9ac73856576d4157_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfOS01LTEtMS0w_1746302c-cee9-448d-90e8-4d745605fe26"
      unitRef="usd">4000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i2f3aa690f6d34b33a79416d598e0b93b_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfOS03LTEtMS0w_fdcc67f1-03e8-4916-8224-bfdb7f05c49a"
      unitRef="usd">-182737000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iaedcc702955b4f37bccc4dcfa91edd73_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfOS05LTEtMS0w_19892460-996f-4a01-95b1-8916153f967d"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfOS0xMS0xLTEtMA_77868601-add5-49ed-8f2a-7729a0fe5b0f"
      unitRef="usd">171491000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ibcd0434e72034acf84d14fda25ed746e_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTEtMS0xLTEtMA_7312ecce-73b5-4523-8f10-895659f9ed53"
      unitRef="usd">78000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i23e85a84c4e44e72b333ec25a29cc966_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTEtMy0xLTEtMA_4346618d-46b3-4f28-8b9b-fb8d5fea7879"
      unitRef="usd">4310000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i66a0bd6ca69e40e7ad73035e9a8f9ec5_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTEtNS0xLTEtMA_e49df7b7-cd69-49c4-a7cc-0d387c8ee685"
      unitRef="usd">7000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="if846de7f0f48465c850e9fbeb1102d02_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTEtNy0xLTEtMA_029a3951-dccf-42fd-8a6c-940cc187a1fa"
      unitRef="usd">-147508000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i66d7a563791e4d558e198122d3223c7f_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTEtOS0xLTEtMA_9a1bb714-453c-499b-a274-47bb7ce4fea2"
      unitRef="usd">7104000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id73d52a4ff6e4941a646b80f72ae3dbe_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTEtMTEtMS0xLTA_d39a3d0c-ab89-445e-bff7-735909cd7aa9"
      unitRef="usd">-136009000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="ice7f78c4476d40a79320608e69f10dc3_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTItNy0xLTEtMA_e718cbd0-b984-4d85-82b3-e90b0916af55"
      unitRef="usd">-200000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="icbc01b7a79b74253bdb27b1a5c44d21a_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTItOS0xLTEtMA_bc163804-f180-4a30-81cc-9f538f78f198"
      unitRef="usd">2694000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTItMTEtMS0xLTA_10c19290-7485-45f5-a9ea-edfd0417a496"
      unitRef="usd">2494000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="if71bc655fdc641c59672c6e3b2ecbcc8_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTMtNS0xLTEtMA_ac7a1d51-b981-4773-8822-ae0162f9c061"
      unitRef="usd">-2000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTMtMTEtMS0xLTA_06f53947-e98f-4857-be9d-d368c59f5d77"
      unitRef="usd">-2000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ic1663928e99c4587accdaf016f3750b0_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTQtMy0xLTEtNjAy_7faa1d40-a6a7-400c-bc50-713cb4f3f5d5"
      unitRef="usd">4000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTQtMTEtMS0xLTYxNg_2a600c8f-768b-4cb7-8503-2b4ee6032aa4"
      unitRef="usd">4000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="icbc01b7a79b74253bdb27b1a5c44d21a_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTQtOS0xLTEtMA_92d0f187-ffe6-41b5-9835-7418a283cd7b"
      unitRef="usd">292000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTQtMTEtMS0xLTA_01f6d4eb-581e-44e0-8b3f-dd08e59c39e6"
      unitRef="usd">292000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4b34062bc1b54ee78f8421cbefdb06e9_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTUtMS0xLTEtMA_89ebb742-467e-4240-94a3-6fa485180610"
      unitRef="usd">78000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8adec82b68744694bb1f3fd5fada0767_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTUtMy0xLTEtMA_33d11ffb-a81e-444d-99f4-35b057bbf4a9"
      unitRef="usd">4314000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i74bdcb902c12489aa1307c4e6bd11e04_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTUtNS0xLTEtMA_31ce6fb0-3cb2-4b0e-9a8c-7f497a0d4998"
      unitRef="usd">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia9a74dde69a44620a96a9ac939db9e9a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTUtNy0xLTEtMA_cd75eaf3-daa7-4f77-a383-7c8417bb8ccd"
      unitRef="usd">-147708000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i5f9c3d8af223408eb3eb36f7b4ed601b_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTUtOS0xLTEtMA_defa25f2-b48a-4520-b351-723b5be4e70d"
      unitRef="usd">9506000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTUtMTEtMS0xLTA_201b2a01-ef78-40e5-ae3e-367c32c2a87f"
      unitRef="usd">-133805000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ib36a823f25464d6d819787d963a87ae3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTctMS0xLTEtMA_59f2d3d1-58ef-4aef-b139-ee0a0bd77349"
      unitRef="usd">103000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i936b3bb34d3543d290fa45bab197d130_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTctMy0xLTEtMA_e11980b2-abc4-43c3-b7b7-e18a008c5e6f"
      unitRef="usd">270800000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i68b6388b51fe405a8be50767143cf9fc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTctNS0xLTEtMA_5aae9d2c-95b8-40ca-8b83-45ffaa3dae44"
      unitRef="usd">44000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i6d8b57c718704a19ba065f424efd2a3f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTctNy0xLTEtMA_8677816f-8f49-4f99-b0f5-cb2e7997ca94"
      unitRef="usd">-143843000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4b6cd7d80bc24777ba62594b02bfe513_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTctOS0xLTEtMA_ed7f1c1e-c2a2-40c7-b95f-dda731569744"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTctMTEtMS0xLTA_25fe0a42-c5dc-4caf-9cff-0b079e11d457"
      unitRef="usd">127104000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="ie0ba6ad3f09044ea88b4fe23c10a5f14_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTgtNy0xLTEtMA_92729595-afdd-4898-a05c-dcff6c4dcee5"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTgtMTEtMS0xLTA_96f1aa45-9f6d-41bb-98d1-1619108e00fd"
      unitRef="usd">-38894000</us-gaap:ProfitLoss>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i7abab15de6f74e4b9a89ac08df9d637a_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTktMS0xLTEtMA_ac3c966f-bbda-40c4-b90b-dbea3f04a2ff"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="id69fa2d5a3094cd285f3b491d201b129_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTktMy0xLTEtMA_02161121-2fab-4988-bd20-8b69cbb8140f"
      unitRef="usd">64267000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMTktMTEtMS0xLTA_12cb100f-1333-4f90-bb08-d656ecffa2c8"
      unitRef="usd">64269000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i21087fc8909347e6a5221e4c6e27f5c7_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjAtNS0xLTEtMA_4bf7a36f-f289-4ee0-ab04-b735ece9b631"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjAtMTEtMS0xLTA_17cbcee1-f51f-438a-9b2f-0aae43340e7c"
      unitRef="usd">-40000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="id69fa2d5a3094cd285f3b491d201b129_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjEtMy0xLTEtMA_d507c120-a0b4-49a6-a7fe-fe0e3c39204e"
      unitRef="usd">47197000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjEtMTEtMS0xLTA_5bd4ee25-ed42-48e4-9a5b-cb97664e0ca3"
      unitRef="usd">47197000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <tls:WarrantsRepurchasedDuringPeriodValue
      contextRef="id69fa2d5a3094cd285f3b491d201b129_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjItMy0xLTEtMA_62ec8de1-34f0-41f2-9bd9-7997291efe59"
      unitRef="usd">26894000</tls:WarrantsRepurchasedDuringPeriodValue>
    <tls:WarrantsRepurchasedDuringPeriodValue
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjItMTEtMS0xLTA_b5052ccc-3786-4433-b14a-6faa7986f0d5"
      unitRef="usd">26894000</tls:WarrantsRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="id69fa2d5a3094cd285f3b491d201b129_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjMtMy0xLTEtMA_c615e3df-8e0c-4795-bf58-d2248d3dc9ff"
      unitRef="usd">1251000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjMtMTEtMS0xLTA_b39367de-ab1d-4891-ba89-a9379dcf5535"
      unitRef="usd">1251000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iab5885ba17b24199a4968b09454df7c0_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjQtMS0xLTEtMA_e9c3040a-6233-4db7-b61a-da8f4a547724"
      unitRef="usd">105000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i5a8108856eab41a6823d71142e0eedb8_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjQtMy0xLTEtMA_21532aee-277b-486e-b4e1-8a6337270f22"
      unitRef="usd">354119000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i17c3a9b3e32b4b9d9ac73856576d4157_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjQtNS0xLTEtMA_e7852190-0403-4a96-b48d-d7d607fea93c"
      unitRef="usd">4000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i2f3aa690f6d34b33a79416d598e0b93b_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjQtNy0xLTEtMA_b8cd30ae-1f32-4ea4-927a-9e55a248b7fa"
      unitRef="usd">-182737000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iaedcc702955b4f37bccc4dcfa91edd73_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjQtOS0xLTEtMA_5e911449-4c58-4289-9612-c6f57ba56d1c"
      unitRef="usd">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjQtMTEtMS0xLTA_818cb2d1-a22d-416b-90ea-4cf6ec5acc40"
      unitRef="usd">171491000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iab9521cc682045a19dd242bb62a84542_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjYtMS0xLTEtMA_859f7941-a75e-4be0-90eb-6a7009ba6b4b"
      unitRef="usd">78000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i00fcf0261b1a449487c7fcc2c17b5a9a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjYtMy0xLTEtMA_53e918c8-f7d0-446b-9925-224e7fa112a0"
      unitRef="usd">4310000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i849c8e54b2ad4f488d82437cf6aa66cf_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjYtNS0xLTEtMA_954783c9-aaeb-44de-8eb8-e2f292c84cda"
      unitRef="usd">6000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i07afff8f5e234867b36a1b5ad2feb0e9_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjYtNy0xLTEtMA_9d10000c-cdae-4ad8-9b54-ad7d50f3026e"
      unitRef="usd">-145530000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i409f254e42ca4787950005543025c415_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjYtOS0xLTEtMA_f5931288-d6d4-4b07-9b08-46bbfe2b615d"
      unitRef="usd">4514000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i01fc102cadf14836a4710efad2cf7ca4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjYtMTEtMS0xLTA_614b6657-68fc-4144-85bb-93401b56642d"
      unitRef="usd">-136622000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ProfitLoss
      contextRef="ib676eb3ce2004899991f73be553778fb_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjctNy0xLTEtMA_3e04bb65-5602-4101-a8bf-14585475878a"
      unitRef="usd">-2178000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="id7daf9d8745a4e6ab63e7992e24e620b_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjctOS0xLTEtMA_ed818e68-4065-414c-b1f7-8a9f6f4f0048"
      unitRef="usd">6284000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjctMTEtMS0xLTA_c2d96860-7ab1-456e-937e-110ba91d3296"
      unitRef="usd">4106000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="ie626ca86e57547dfaa498aa84eef3b6e_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjgtNS0xLTEtMA_d4dc34fd-2d65-4126-acbb-569735200ae9"
      unitRef="usd">-1000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjgtMTEtMS0xLTA_f6d809dc-3a9d-46a1-8721-7c7600841944"
      unitRef="usd">-1000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia7236bc2bee1442c8d53f6b9ac8fad70_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMzAtMy0xLTEtNjIz_f1ddbdbd-1924-41de-94de-cdedf864425c"
      unitRef="usd">4000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMzAtMTEtMS0xLTYyOA_51e50cf3-4c89-415f-92f5-0e0913f5e5bc"
      unitRef="usd">4000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="id7daf9d8745a4e6ab63e7992e24e620b_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjktOS0xLTEtMA_81aa5041-d828-4fba-860a-a0f4ca7fe83b"
      unitRef="usd">1292000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMjktMTEtMS0xLTA_ae2caf6d-3bd3-4146-8db4-bc309a01ff9b"
      unitRef="usd">1292000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i4b34062bc1b54ee78f8421cbefdb06e9_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMzAtMS0xLTEtMA_286ea35d-9f4b-4f3f-a5f1-6020f5bc1a40"
      unitRef="usd">78000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i8adec82b68744694bb1f3fd5fada0767_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMzAtMy0xLTEtMA_b7eaee5e-fefa-4903-a023-bac6d6135669"
      unitRef="usd">4314000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i74bdcb902c12489aa1307c4e6bd11e04_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMzAtNS0xLTEtMA_d464cefe-0c53-4afe-85bc-9a23fff21d0e"
      unitRef="usd">5000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia9a74dde69a44620a96a9ac939db9e9a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMzAtNy0xLTEtMA_0274e5fb-8a07-4f05-aeca-b1cb2e1c414f"
      unitRef="usd">-147708000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i5f9c3d8af223408eb3eb36f7b4ed601b_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMzAtOS0xLTEtMA_67e01006-418b-45bb-9694-fb3d11b5776d"
      unitRef="usd">9506000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8yOC9mcmFnOjAyODRmNjgzNzNmNTQwYmE4Nzc5MjYzOGY3NTdmOTM2L3RhYmxlOjdiZTM1MGM0OWYwYzQyZDNiMzhjMDJlMWE1ZDI0MDgxL3RhYmxlcmFuZ2U6N2JlMzUwYzQ5ZjBjNDJkM2IzOGMwMmUxYTVkMjQwODFfMzAtMTEtMS0xLTA_492664d4-0742-42c7-967f-92e91e18e6e9"
      unitRef="usd">-133805000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NTA_aa77f422-a466-4609-9319-5e675f84de08">General and Basis of Presentation&lt;div style="margin-top:10pt"&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;Description of Business&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Organization&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Telos Corporation, together with its subsidiaries (collectively, the "Company", "we", "our" or "Telos"), a Maryland corporation, is a leading provider of cyber, cloud and enterprise security solutions for the world's most security-conscious organizations. &#160; We own all of the issued and outstanding share capital of Xacta Corporation, a subsidiary that develops, markets and sells government-validated secure enterprise solutions to government and commercial customers. We also own all of the issued and outstanding share capital of Ubiquity.com, Inc., a holding company for Xacta Corporation. We own a 100% ownership interest in Telos Identity Management Solutions, LLC (&#x201c;Telos ID&#x201d;), Teloworks, Inc. (&#x201c;Teloworks&#x201d;) and Telos APAC Pte. Ltd. (&#x201c;Telos APAC&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;12, 2020, we amended our charter to effect an approximate&#160;0.794-for-1 reverse stock split with respect to our common stock. The par value and the authorized shares of the common stock were not adjusted as a result of the reverse stock split. The accompanying condensed consolidated financial statements and notes to the condensed consolidated financial statements give retroactive effect to the reverse stock split for all periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Public Offerings of Common Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;19, 2020, we completed our initial public offering ("IPO") of shares of our common stock. We issued 17.2 million shares of our common stock at a price of $17.00 per share, generating net proceeds of approximately $272.8 million.&#160; We used approximately $108.9 million of the net proceeds in connection with the conversion of our outstanding shares of Exchangeable Redeemable Preferred Stock into the right to receive cash and shares of our common stock, $30.0 million to fund our acquisition of the outstanding Class&#160;B Units of Telos ID, and $21.0 million to repay our outstanding senior term loan and subordinated debt.&#160; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;6, 2021, we completed our follow-on offering of 9.1 million shares of our common stock at a price of $33.00 per share, including 7.0 million shares of common stock held by certain existing stockholders of Telos. The offering generated approximately $64.3 million of net proceeds to Telos. We did not receive any proceeds from the shares of common stock sold by the selling stockholders. On April&#160;19, 2021, we used approximately $1.3 million of the net proceeds to repurchase 39,682 shares of our common stock and $26.9 million to repurchase the warrants to purchase 900,970 shares of our common stock owned by certain affiliates of Enlightenment Capital Solutions ("EnCap").&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have used and intend to continue using the remaining net proceeds for general corporate purposes, including working capital, sales and marketing activities, research and development, general and administrative matters and capital expenditures. We also may use a portion of the net proceeds to acquire complementary businesses, products, services, or technologies. The amounts and timing of our actual use of the net proceeds will vary depending on numerous factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Principles of Consolidation and Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying unaudited condensed consolidated financial statements include the accounts of Telos and its wholly-owned subsidiaries. All intercompany transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying condensed consolidated financial statements for the three and nine months ended September&#160;30, 2021 and 2020 have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) and pursuant to rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;). The presented interim results are not necessarily indicative of fiscal year performance for a variety of reasons including, but not limited to, the impact of seasonal and short-term variations. We have continued to follow the accounting policies (including the critical accounting policies) set forth in the consolidated financial statements included in our 2020 Annual Report on Form 10-K filed with the SEC. These condensed consolidated financial statements should be read in conjunction with the consolidated financial statements and notes thereto included in our Annual Report on Form 10-K for the fiscal year ended December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In preparing these condensed consolidated financial statements, we have evaluated subsequent events through the date that these condensed consolidated financial statements were issued.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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 Comparison&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain prior-period amounts have been reclassified to conform to the current period presentation. In the current period, we have reclassified and presented intangible assets separately from our property and equipment line item. The reclassification had no impact on our total assets or liabilities nor on our net loss or stockholders' equity.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three months ended September 30, 2021, the Company recorded an out-of-period adjustment resulting in a $1.1 million increase to 'Services' revenue and a $1.0&#160;million reclassification between 'Cost of Sales - Services' and 'General and Administrative' expenses within the condensed consolidated statements of operations. The Company identified and corrected this error in the current period. This error was not material to any previously filed consolidated financial statements and the impact of correcting this error in the current period is not material to our third quarter 2021 condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Segment Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are defined as components of an enterprise for which separate financial information is available and evaluated regularly by the chief operating decision maker (&#x201c;CODM&#x201d;), or decision making group, in deciding how to allocate resources and assess performance. We currently operate in one operating and reportable business segment for financial reporting purposes.&#160;Our Chief Executive Officer is the CODM. The CODM evaluates profitability based on consolidated results.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting Standards Recently Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the Financial Accounting Standard Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) No. 2019-12, &#x201c;Simplifying the Accounting for Income Taxes (Topic 740)&#x201d;, which simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740. The ASU also clarifies and amends existing guidance to improve consistent application. This standard is effective for reporting periods beginning after December 15, 2020, which made this standard effective for us on January 1, 2021. The adoption of this ASU did not have a material impact on our condensed consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Summary of Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of cost or net realizable value, where cost is determined using the weighted average method.&#160;Substantially all inventories consist of purchased off-the-shelf hardware and software, and component computer parts used in connection with system integration services that we perform. An allowance for obsolete, slow-moving or nonsaleable inventory is provided for all other inventories. This allowance is based on our overall obsolescence experience and our assessment of future inventory requirements. This charge is taken primarily due to the age of the specific inventory and the significant additional costs that would be necessary to upgrade to current standards as well as the lack of forecasted sales for such inventory in the near future.&#160; Gross inventory was $2.9 million and $4.2 million as of September&#160;30, 2021 and December&#160;31, 2020, respectively. As of September&#160;30, 2021, it is management&#x2019;s judgment that we have fully provided for any potential inventory obsolescence, which was $0.8 million and $0.9&#160;million as of September&#160;30, 2021 and December&#160;31, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for development costs of our software to be sold in accordance with ASC Topic 985-20, &#x201c;Software &#x2013; Costs of Software to be Sold, Leased, or Marketed&#x201d; and for internal use software in accordance with ASC Topic 350-40 &#x201c;Internal Use Software&#x201d;. Under both standards, software development costs are expensed as incurred until technological feasibility is reached, at which time additional costs are capitalized until the product is available for general release to customers or is ready for its intended use, as appropriate. Technological feasibility is established when all planning, designing, coding and testing activities have been completed, and all risks have been identified. Software development costs are capitalized and amortized over the estimated product life of 2 years on a straight-line basis, which are included as a part of intangible assets. The Company analyzes the net realizable value of capitalized software development costs on at least an annual basis and has determined that there is no indication of impairment of the capitalized software development costs as forecasted future sales are adequate to support the carrying values.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for income taxes in accordance with ASC 740, &#x201c;Income Taxes&#x201d;. Under ASC 740, deferred tax assets and liabilities are recognized for the estimated future tax consequences of temporary differences and income tax credits.&#160; Deferred tax assets and liabilities are measured by applying enacted statutory tax rates that are applicable to the future years in which deferred tax assets or liabilities are expected to be settled or realized for differences between the financial statement carrying amounts and the tax bases of existing assets and liabilities.&#160; Any change in tax rates on deferred tax assets and liabilities is recognized in net income in the period in which the tax rate change is enacted.&#160; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We follow the provisions of ASC 740 related to accounting for uncertainty in income taxes. The accounting estimates related to liabilities for uncertain tax positions require us to make judgments regarding the sustainability of each uncertain tax position based on its technical merits. If we determine it is more likely than not that a tax position will be sustained based on its technical merits, we record the impact of the position in our condensed consolidated financial statements at the largest amount that is greater than fifty percent likely of being realized upon ultimate settlement. These estimates are updated at each reporting date based on the facts, circumstances and information available. We are also required to assess at each reporting date whether it is reasonably possible that any significant increases or decreases to our unrecognized tax benefits will occur during the next 12 months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes in interim periods is computed by applying the estimated annual effective tax rate against earnings before income tax expense for the period. In addition, non-recurring or discrete items are recorded during the period in which they occur.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is recorded as the difference between the aggregate consideration paid for an acquisition and the fair value of net tangible and intangible assets acquired and liabilities assumed. Goodwill is not amortized, but rather tested for potential impairment annually during our fourth quarter, or whenever events or changes in circumstances indicate that the carrying value may not be recoverable. Such circumstances could include, but are not limited to: (1) a significant adverse change in legal factors or business climate, or (2) a loss of key contracts or customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The goodwill impairment test is performed at the reporting unit level. The Company estimates and compares the fair value of each reporting unit to its respective carrying value including goodwill. If the fair value is less than the carrying value, the amount of impairment expense is equal to the difference between the reporting unit&#x2019;s fair value and the reporting unit&#x2019;s carrying value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is amortized and deducted over a 15-year period for tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under our 2016 Omnibus Long-Term Incentive Plan, as amended (the &#x201c;2016 LTIP&#x201d;), we have the ability to award restricted stock units with time-based vesting (&#x201c;Service-Based RSUs&#x201d;), and restricted stock units with performance-based vesting (&#x201c;Performance-Based RSUs&#x201d;) to senior executives, directors, employees and other eligible service providers. Under the 2016 LTIP, our Board of Directors or, by designation of authority, the Compensation Committee of our Board of Directors has the discretion to establish the terms, conditions and criteria of the various awards, including the weighing and vesting schedule of Service-Based RSUs and the performance conditions applicable to the Performance-Based RSUs, including the achievement of certain financial performance criteria or price targets for our common stock. Upon vesting, Service-Based RSUs and Performance-Based RSUs will be settled in the Company&#x2019;s common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Service-Based RSUs&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; granted to eligible employees as an incentive generally vest in equal installments over &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY2NTA_c78469e7-1cae-4965-83e2-d0eda481dfc7"&gt;two&lt;/span&gt; to three years from the date of grant. Service-Based RSUs granted to senior executives in 2021 vest in &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY3NDc_b4aea532-58dc-4539-8778-459ce0f19b5e"&gt;three&lt;/span&gt; annual installments from the date of grant, with 30% vesting on the first and second anniversaries and 40% vesting on the third anniversary. The grant date fair value per share is equal to the closing stock price on the date of grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Performance-Based RSUs&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; may vest upon the achievement of a defined performance target or at the end of the defined performance period from the date of grant, whichever initially occurs. The grant date fair value per share of these Performance-Based RSUs is equal to the closing stock price on the date of the grant or the fair value of the award on the grant date as determined through an independent valuation, for performance-based RSUs with market condition. Performance-Based RSUs may vest upon the achievement of certain price targets for the Company&#x2019;s common stock anytime over a three-year period from the date of grant. In order to reflect the substantive characteristics of these market condition awards, the Company employs a Monte Carlo simulation valuation model to calculate the grant date fair value and corresponding requisite service period of the award. Monte Carlo approaches are a class of computational algorithms that rely on repeated random sampling to compute their results. This approach allows the calculation of the value of such awards based on a large number of possible stock price path scenarios.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize these share-based payment transactions when services from the employees are received and recognize a corresponding increase in additional paid-in capital in our condensed consolidated balance sheets. The measurement objective for these equity awards is the estimated fair value at the date of grant of the equity instruments that we are obligated to issue when employees have rendered the requisite service and satisfied any other conditions necessary to earn the right to benefit from the instruments. The compensation expense for an award is recognized ratably over the requisite service period for the entire award, which is the period during which an employee is required to provide service in exchange for an award. Compensation expense for awards with performance conditions is recognized over the requisite service period if it is probable that the performance condition will be satisfied. &#160;If such performance conditions are not or are no longer considered probable, no compensation expense for these awards is recognized, and any previously recognized expense is reversed. If the performance condition is achieved prior to the completion of the requisite service period, any unrecognized compensation expense will be recognized in the period the performance condition is achieved. Compensation expense for awards with market conditions is recognized over the derived service period, or sooner, if the market condition is achieved. Previously recognized expense for awards with market conditions will never be reversed even if the market conditions is never achieved. We recognize forfeitures of share-based compensation awards as they occur. Share-based compensation expense is recognized as part of cost of sales and general and administrative expenses in our condensed consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Net Loss per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of common shares outstanding for the period, without consideration for potentially dilutive securities. Diluted net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of shares of common stock and dilutive common stock equivalents outstanding for the period determined using the treasury-stock and if-converted methods. Dilutive common stock equivalents are comprised of unvested restricted stock, unvested restricted stock units and common stock warrants. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the period of net loss, potentially dilutive securities are not included in the calculation of diluted net earnings (loss) per share because to do so would be anti-dilutive. Potentially dilutive securities are as follows (in common stock equivalent shares, in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.056%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.865%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.865%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.843%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.865%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.869%"/&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 September 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;Nine Months Ended September 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 #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;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock and 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;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;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;60&#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;394&#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;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants, exercisable at $1.665/sh.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td 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;313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Other Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our functional currency is the U.S. Dollar. For one of our wholly owned subsidiaries, the functional currency is the local currency. For this subsidiary, the translation of its foreign currency into U.S. Dollars is performed for assets and liabilities using current foreign currency exchange rates in effect at the balance sheet date and for revenue and expense accounts using average foreign currency exchange rates during the periods presented. Translation gains and losses are included in stockholders&#x2019; equity (deficit) as a component of accumulated other comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accumulated other comprehensive income included within stockholders&#x2019; equity (deficit) consists of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding: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;September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative foreign currency translation loss&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;(103)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative actuarial gain on pension liability adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated other comprehensive income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#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:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:MinorityInterestOwnershipPercentageByParent
      contextRef="ie372c438b6ac46cb8e8ed3f187131179_I20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfNjcx_576fea70-935e-4fbb-b5cc-86e1e78cea4b"
      unitRef="number">1</us-gaap:MinorityInterestOwnershipPercentageByParent>
    <us-gaap:StockholdersEquityNoteStockSplitConversionRatio1
      contextRef="i53209ba84ae54697841e4201cf4d51d3_D20201112-20201112"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfODc3_50a7f919-dd16-43a6-8bd6-613fd342cc1e"
      unitRef="number">0.794</us-gaap:StockholdersEquityNoteStockSplitConversionRatio1>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="ibe4f5d945d524447b20e86a03f8bf616_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzM0Ng_c924e988-a564-425d-965b-4a169bb59751"
      unitRef="shares">17200000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SharePrice
      contextRef="i2f606bd2cb444e1bb9c6293206b940ab_I20201119"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzM5MA_bf2bc2de-4e0b-47bf-9ac9-76a6c8a03dd9"
      unitRef="usdPerShare">17.00</us-gaap:SharePrice>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="ibe4f5d945d524447b20e86a03f8bf616_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzQ0NQ_88c15a90-605b-4327-900c-1b9368615622"
      unitRef="usd">272800000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock
      contextRef="ibf2fe3534a184fc08025aa2c703a9b6b_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzQ3Mg_d06b3b5c-0d78-48fc-ad10-a17ba775468f"
      unitRef="usd">108900000</us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i2215cb123f024628b2c785e5970413da_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzY2MQ_1c547671-337c-4bb6-b8a5-f1290ba16360"
      unitRef="usd">30000000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:RepaymentsOfDebt
      contextRef="ibe4f5d945d524447b20e86a03f8bf616_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzczOA_0ff9c6f0-7f89-4f1b-9369-cf5aa364a05e"
      unitRef="usd">21000000</us-gaap:RepaymentsOfDebt>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="ib83af983688b4a9cb0b04db287cdbec1_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTY0OTI2NzQ5ODAxMg_f87fe02e-e248-41fa-935b-ea95fe31f27f"
      unitRef="shares">9100000</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="i6dc39763b34641eeaee7f298e00ae363_I20210406"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTY0OTI2NzQ5ODAxOQ_2a5d0e60-19b3-484f-a12b-0de5c277dee5"
      unitRef="usdPerShare">33.00</us-gaap:SaleOfStockPricePerShare>
    <tls:SaleOfStockNumberOfSharesIssuedByCertainExistingShareholders
      contextRef="ib83af983688b4a9cb0b04db287cdbec1_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTY0OTI2NzQ5ODAyNA_850a92dd-3a4e-4fed-9784-8f69f54ebed9"
      unitRef="shares">7000000</tls:SaleOfStockNumberOfSharesIssuedByCertainExistingShareholders>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="ib83af983688b4a9cb0b04db287cdbec1_D20210406-20210406"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTY0OTI2NzQ5ODAzMQ_ca0cba77-37a4-40ea-8857-af24beba7aca"
      unitRef="usd">64300000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfNDQ4Nw_1a1978e8-490c-4ee3-aeaf-3238f1e1eb20"
      unitRef="usd">1300000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTA5OTUxMTcwMDgxMw_fb637764-6c75-418e-83d1-0ba7b9e2b59e"
      unitRef="shares">39682</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfNDU1OA_7266d15d-c4b0-4ce0-bece-fd6ffacaa7ba"
      unitRef="usd">26900000</us-gaap:PaymentsForRepurchaseOfWarrants>
    <tls:WarrantRepurchasedDuringPeriodShares
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTA5OTUxMTcwMDgxNw_6dea1db3-bf6d-4b8e-a819-e4d8f64850b1"
      unitRef="shares">900970</tls:WarrantRepurchasedDuringPeriodShares>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzg0ODI5MDc2MjcwNQ_ba1c892a-3fa8-4143-9de2-a0533a944b60">The accompanying unaudited condensed consolidated financial statements include the accounts of Telos and its wholly-owned subsidiaries. All intercompany transactions have been eliminated in consolidation.</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzg0ODI5MDc2MjcwNg_af331444-1e3f-4d5f-bea8-fc47a633cce4">The accompanying condensed consolidated financial statements for the three and nine months ended September&#160;30, 2021 and 2020 have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;) and pursuant to rules and regulations of the Securities and Exchange Commission (&#x201c;SEC&#x201d;).</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i20b719dd0f4045e29e94fc54e3ce67f1_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTA5OTUxMTcyNDg5Mg_b87596c6-a963-4bf0-9267-f316fb23cd26"
      unitRef="usd">1100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i20b719dd0f4045e29e94fc54e3ce67f1_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTA5OTUxMTcyNjQ3NQ_94196863-e4c1-4bb0-adff-a5785739fe70"
      unitRef="usd">1000000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NTU_6e0fa737-9e91-47f3-8d21-42e6fd0b7234">Operating segments are defined as components of an enterprise for which separate financial information is available and evaluated regularly by the chief operating decision maker (&#x201c;CODM&#x201d;), or decision making group, in deciding how to allocate resources and assess performance. We currently operate in one operating and reportable business segment for financial reporting purposes.&#160;Our Chief Executive Officer is the CODM. The CODM evaluates profitability based on consolidated results.</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfNjU3Mg_6fc45042-95cb-45d4-ad43-ca9566f58921"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfNjU3Mg_cf12aa58-e66a-4909-b66c-6003bd846d15"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NTE_31c6e851-44d4-4956-a134-c67f69f3970c">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting Standards Recently Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the Financial Accounting Standard Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) No. 2019-12, &#x201c;Simplifying the Accounting for Income Taxes (Topic 740)&#x201d;, which simplifies the accounting for income taxes by removing certain exceptions to the general principles in Topic 740. The ASU also clarifies and amends existing guidance to improve consistent application. This standard is effective for reporting periods beginning after December 15, 2020, which made this standard effective for us on January 1, 2021. The adoption of this ASU did not have a material impact on our condensed consolidated financial position, results of operations and cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NTI_025a127e-e4d6-4c1f-9527-05f4d40cdd01">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are stated at the lower of cost or net realizable value, where cost is determined using the weighted average method.&#160;Substantially all inventories consist of purchased off-the-shelf hardware and software, and component computer parts used in connection with system integration services that we perform. An allowance for obsolete, slow-moving or nonsaleable inventory is provided for all other inventories. This allowance is based on our overall obsolescence experience and our assessment of future inventory requirements. This charge is taken primarily due to the age of the specific inventory and the significant additional costs that would be necessary to upgrade to current standards as well as the lack of forecasted sales for such inventory in the near future.&#160; Gross inventory was $2.9 million and $4.2 million as of September&#160;30, 2021 and December&#160;31, 2020, respectively. As of September&#160;30, 2021, it is management&#x2019;s judgment that we have fully provided for any potential inventory obsolescence, which was $0.8 million and $0.9&#160;million as of September&#160;30, 2021 and December&#160;31, 2020, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:InventoryGross
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTk5NzU_8c48190b-7b37-4923-abe7-9d9abc2f184a"
      unitRef="usd">2900000</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTk5ODI_f0a9a701-8b50-4d4e-85b5-b75318f8ecdf"
      unitRef="usd">4200000</us-gaap:InventoryGross>
    <us-gaap:InventoryValuationReserves
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjAxMzQ_21ef51f6-5500-41a9-a180-c53b9b723e20"
      unitRef="usd">800000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTY0OTI2NzQ5ODE0Nw_451677d7-8acb-4468-ac82-75911dd9a9d4"
      unitRef="usd">900000</us-gaap:InventoryValuationReserves>
    <us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NDY_49697c0c-3bd4-4c51-912a-d0cf13b351e7">&lt;div style="margin-top:10pt"&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;Software Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for development costs of our software to be sold in accordance with ASC Topic 985-20, &#x201c;Software &#x2013; Costs of Software to be Sold, Leased, or Marketed&#x201d; and for internal use software in accordance with ASC Topic 350-40 &#x201c;Internal Use Software&#x201d;. Under both standards, software development costs are expensed as incurred until technological feasibility is reached, at which time additional costs are capitalized until the product is available for general release to customers or is ready for its intended use, as appropriate. Technological feasibility is established when all planning, designing, coding and testing activities have been completed, and all risks have been identified. Software development costs are capitalized and amortized over the estimated product life of 2 years on a straight-line basis, which are included as a part of intangible assets. The Company analyzes the net realizable value of capitalized software development costs on at least an annual basis and has determined that there is no indication of impairment of the capitalized software development costs as forecasted future sales are adequate to support the carrying values.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ied153dcead774fd5a0d8207b43aadeec_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMTA5OTUxMTY4NDY5NQ_4d718a9e-3acb-4862-98d3-7a10b141c595">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NTM_cb2b39f2-2aa6-41a8-ae18-6fd5ad4a4952">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for income taxes in accordance with ASC 740, &#x201c;Income Taxes&#x201d;. Under ASC 740, deferred tax assets and liabilities are recognized for the estimated future tax consequences of temporary differences and income tax credits.&#160; Deferred tax assets and liabilities are measured by applying enacted statutory tax rates that are applicable to the future years in which deferred tax assets or liabilities are expected to be settled or realized for differences between the financial statement carrying amounts and the tax bases of existing assets and liabilities.&#160; Any change in tax rates on deferred tax assets and liabilities is recognized in net income in the period in which the tax rate change is enacted.&#160; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We follow the provisions of ASC 740 related to accounting for uncertainty in income taxes. The accounting estimates related to liabilities for uncertain tax positions require us to make judgments regarding the sustainability of each uncertain tax position based on its technical merits. If we determine it is more likely than not that a tax position will be sustained based on its technical merits, we record the impact of the position in our condensed consolidated financial statements at the largest amount that is greater than fifty percent likely of being realized upon ultimate settlement. These estimates are updated at each reporting date based on the facts, circumstances and information available. We are also required to assess at each reporting date whether it is reasonably possible that any significant increases or decreases to our unrecognized tax benefits will occur during the next 12 months.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NDc_0639af32-2de8-412f-a8a9-7b970dd276d2">&lt;div style="margin-top:10pt"&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;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is recorded as the difference between the aggregate consideration paid for an acquisition and the fair value of net tangible and intangible assets acquired and liabilities assumed. Goodwill is not amortized, but rather tested for potential impairment annually during our fourth quarter, or whenever events or changes in circumstances indicate that the carrying value may not be recoverable. Such circumstances could include, but are not limited to: (1) a significant adverse change in legal factors or business climate, or (2) a loss of key contracts or customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The goodwill impairment test is performed at the reporting unit level. The Company estimates and compares the fair value of each reporting unit to its respective carrying value including goodwill. If the fair value is less than the carrying value, the amount of impairment expense is equal to the difference between the reporting unit&#x2019;s fair value and the reporting unit&#x2019;s carrying value.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Goodwill is amortized and deducted over a 15-year period for tax purposes.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NDQ_61e1f86c-5fb5-48e9-a4af-9cbf8c1e5bba">&lt;div style="margin-top:10pt"&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-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under our 2016 Omnibus Long-Term Incentive Plan, as amended (the &#x201c;2016 LTIP&#x201d;), we have the ability to award restricted stock units with time-based vesting (&#x201c;Service-Based RSUs&#x201d;), and restricted stock units with performance-based vesting (&#x201c;Performance-Based RSUs&#x201d;) to senior executives, directors, employees and other eligible service providers. Under the 2016 LTIP, our Board of Directors or, by designation of authority, the Compensation Committee of our Board of Directors has the discretion to establish the terms, conditions and criteria of the various awards, including the weighing and vesting schedule of Service-Based RSUs and the performance conditions applicable to the Performance-Based RSUs, including the achievement of certain financial performance criteria or price targets for our common stock. Upon vesting, Service-Based RSUs and Performance-Based RSUs will be settled in the Company&#x2019;s common stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Service-Based RSUs&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; granted to eligible employees as an incentive generally vest in equal installments over &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY2NTA_c78469e7-1cae-4965-83e2-d0eda481dfc7"&gt;two&lt;/span&gt; to three years from the date of grant. Service-Based RSUs granted to senior executives in 2021 vest in &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY3NDc_b4aea532-58dc-4539-8778-459ce0f19b5e"&gt;three&lt;/span&gt; annual installments from the date of grant, with 30% vesting on the first and second anniversaries and 40% vesting on the third anniversary. The grant date fair value per share is equal to the closing stock price on the date of grant.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:18pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Performance-Based RSUs&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; may vest upon the achievement of a defined performance target or at the end of the defined performance period from the date of grant, whichever initially occurs. The grant date fair value per share of these Performance-Based RSUs is equal to the closing stock price on the date of the grant or the fair value of the award on the grant date as determined through an independent valuation, for performance-based RSUs with market condition. Performance-Based RSUs may vest upon the achievement of certain price targets for the Company&#x2019;s common stock anytime over a three-year period from the date of grant. In order to reflect the substantive characteristics of these market condition awards, the Company employs a Monte Carlo simulation valuation model to calculate the grant date fair value and corresponding requisite service period of the award. Monte Carlo approaches are a class of computational algorithms that rely on repeated random sampling to compute their results. This approach allows the calculation of the value of such awards based on a large number of possible stock price path scenarios.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognize these share-based payment transactions when services from the employees are received and recognize a corresponding increase in additional paid-in capital in our condensed consolidated balance sheets. The measurement objective for these equity awards is the estimated fair value at the date of grant of the equity instruments that we are obligated to issue when employees have rendered the requisite service and satisfied any other conditions necessary to earn the right to benefit from the instruments. The compensation expense for an award is recognized ratably over the requisite service period for the entire award, which is the period during which an employee is required to provide service in exchange for an award. Compensation expense for awards with performance conditions is recognized over the requisite service period if it is probable that the performance condition will be satisfied. &#160;If such performance conditions are not or are no longer considered probable, no compensation expense for these awards is recognized, and any previously recognized expense is reversed. If the performance condition is achieved prior to the completion of the requisite service period, any unrecognized compensation expense will be recognized in the period the performance condition is achieved. Compensation expense for awards with market conditions is recognized over the derived service period, or sooner, if the market condition is achieved. Previously recognized expense for awards with market conditions will never be reversed even if the market conditions is never achieved. We recognize forfeitures of share-based compensation awards as they occur. Share-based compensation expense is recognized as part of cost of sales and general and administrative expenses in our condensed consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="iad73aa4733ea47fca1bd81a73e732257_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY2NTY_abc825de-38f9-4638-bb70-72eee87d8dc9">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i912d3f92ad8d4e3f960c99ad714478ea_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY3OTk_1ce9c41c-21a4-4b72-b39e-1c16fd389eb1"
      unitRef="number">0.30</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i5028b52c80784769a935e82dee8d5a8d_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY3OTk_f50f5e7a-7aa3-475f-9fde-bee55535f43b"
      unitRef="number">0.30</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i20e6d7574fc44c66ad2b5ec6174c25c6_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMjY4NTI_b8146db6-d2e5-485c-8144-ce9deb0270e3"
      unitRef="number">0.40</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfNDM5ODA0NjYxMDQyMQ_d3e299d5-ed31-4116-9dd4-2d51884dea71">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NDg_3d904b62-51e8-4261-9d85-9b15bf46a239">Net Loss per ShareBasic net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of common shares outstanding for the period, without consideration for potentially dilutive securities. Diluted net earnings (loss) per share is computed by dividing the net earnings (loss) by the weighted-average number of shares of common stock and dilutive common stock equivalents outstanding for the period determined using the treasury-stock and if-converted methods. Dilutive common stock equivalents are comprised of unvested restricted stock, unvested restricted stock units and common stock warrants.</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NDk_719a04bd-7f6d-438e-8c22-599b5556b21b">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the period of net loss, potentially dilutive securities are not included in the calculation of diluted net earnings (loss) per share because to do so would be anti-dilutive. Potentially dilutive securities are as follows (in common stock equivalent shares, in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.099%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:44.056%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.865%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.545%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.865%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.843%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.865%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.869%"/&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 September 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;Nine Months Ended September 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 #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;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock and 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;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;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;60&#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;394&#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;60&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants, exercisable at $1.665/sh.&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td 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;313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="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;961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0550e72b972b4c9695b5794388263d75_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMi0xLTEtMS0w_0a0ec0aa-7ff0-43dc-9e14-7b4c09f52ff7"
      unitRef="shares">313000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6700b3a5ffed4b04aef96d03844ea0a2_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMi0zLTEtMS0w_1763b2bf-0a3a-4b6a-90fb-0694b3c80aba"
      unitRef="shares">60000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i59d1b9b2ca514c2d8cace3e48087a111_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMi01LTEtMS0w_b17dc843-99d9-4f7b-8bd7-2e25174069e4"
      unitRef="shares">394000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia8bcd23135e245ebb88ca3abb0d09249_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMi03LTEtMS0w_fe119f0b-72a3-48b9-b724-2115e6a46b6e"
      unitRef="shares">60000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMy0wLTEtMS0wL3RleHRyZWdpb246MjI0ZmYzMGQwYWYwNDU3Y2E4MzJlYjBjNzBhODJhMjVfNDI_31bb9f96-fa13-4d1b-9e87-24bd17186a7c"
      unitRef="usdPerShare">1.665</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMy0wLTEtMS0wL3RleHRyZWdpb246MjI0ZmYzMGQwYWYwNDU3Y2E4MzJlYjBjNzBhODJhMjVfNDI_dafd4a14-da6a-4bbf-8804-6f556013d927"
      unitRef="usdPerShare">1.665</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6e68182e7cf04375a85cd41fb6787b78_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMy0xLTEtMS0w_b6e7ee31-ed38-47c4-800a-15ecf3148227"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ic3cd2014c3764b479149831e0592efa5_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMy0zLTEtMS0w_d79623ea-c37b-466e-8930-121f6188dee8"
      unitRef="shares">901000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6a2019eaeb97404aaa182a4fc7e0cab6_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMy01LTEtMS0w_98a0143f-ed06-4904-918a-f74704255b1f"
      unitRef="shares">405000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i62abd384c61843b39bbccce2dbbf5de2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfMy03LTEtMS0w_e4f8e647-d15b-42c0-b024-c3a6a602d1ad"
      unitRef="shares">901000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfNC0xLTEtMS0w_a6ec0c39-35ad-4ba5-9749-8da6ed9cbb6b"
      unitRef="shares">313000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfNC0zLTEtMS0w_1d33ded8-8140-42fd-b6b5-19ee6ca2945c"
      unitRef="shares">961000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfNC01LTEtMS0w_5b31857c-b00c-4714-bd49-97ea3a20234c"
      unitRef="shares">799000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmJhODk3NGQ0YjliMjRlYzU4YzNmYTU3NDc0ZDBlNzc5L3RhYmxlcmFuZ2U6YmE4OTc0ZDRiOWIyNGVjNThjM2ZhNTc0NzRkMGU3NzlfNC03LTEtMS0w_6ad096f8-7acd-4dd2-9cfe-87683d8adfd7"
      unitRef="shares">961000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NTg_ec489826-2453-4764-947a-5c42591bf9ae">&lt;div style="margin-top:10pt"&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;Other Comprehensive Loss&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our functional currency is the U.S. Dollar. For one of our wholly owned subsidiaries, the functional currency is the local currency. For this subsidiary, the translation of its foreign currency into U.S. Dollars is performed for assets and liabilities using current foreign currency exchange rates in effect at the balance sheet date and for revenue and expense accounts using average foreign currency exchange rates during the periods presented. Translation gains and losses are included in stockholders&#x2019; equity (deficit) as a component of accumulated other comprehensive income (loss).&lt;/span&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RleHRyZWdpb246ZDZlNzg5OGRiN2FlNGRlNDgyOGFjY2EwZTkxOWExY2ZfMzE3NTQ_ccfe0bf8-12ff-4ba7-8da4-807fc3faf032">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accumulated other comprehensive income included within stockholders&#x2019; equity (deficit) consists of the following (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding: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;September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative foreign currency translation loss&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;(103)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cumulative actuarial gain on pension liability adjustment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated other comprehensive income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44&#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:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmZlZTk0NGRkMzE4ZDRiYzliMWMyYWMyNjdiM2Y5Y2JkL3RhYmxlcmFuZ2U6ZmVlOTQ0ZGQzMThkNGJjOWIxYzJhYzI2N2IzZjljYmRfMS0xLTEtMS0w_be4eb0b0-00e3-4bb0-adea-36146653ba08"
      unitRef="usd">-103000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmZlZTk0NGRkMzE4ZDRiYzliMWMyYWMyNjdiM2Y5Y2JkL3RhYmxlcmFuZ2U6ZmVlOTQ0ZGQzMThkNGJjOWIxYzJhYzI2N2IzZjljYmRfMS0zLTEtMS0w_13befb23-d30c-499c-bc93-64e5d59ac8ba"
      unitRef="usd">-63000</us-gaap:AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmZlZTk0NGRkMzE4ZDRiYzliMWMyYWMyNjdiM2Y5Y2JkL3RhYmxlcmFuZ2U6ZmVlOTQ0ZGQzMThkNGJjOWIxYzJhYzI2N2IzZjljYmRfMi0xLTEtMS0w_2700b3bf-9dfd-411b-9dd0-a33207b3512a"
      unitRef="usd">-107000</us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmZlZTk0NGRkMzE4ZDRiYzliMWMyYWMyNjdiM2Y5Y2JkL3RhYmxlcmFuZ2U6ZmVlOTQ0ZGQzMThkNGJjOWIxYzJhYzI2N2IzZjljYmRfMi0zLTEtMS0w_d555cb38-ea0b-4a37-b700-b681b0e62213"
      unitRef="usd">-107000</us-gaap:AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmZlZTk0NGRkMzE4ZDRiYzliMWMyYWMyNjdiM2Y5Y2JkL3RhYmxlcmFuZ2U6ZmVlOTQ0ZGQzMThkNGJjOWIxYzJhYzI2N2IzZjljYmRfMy0xLTEtMS0w_7b5fff40-8d4e-43a7-8e30-a53bd5ce506f"
      unitRef="usd">4000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8zNC9mcmFnOmQ2ZTc4OThkYjdhZTRkZTQ4MjhhY2NhMGU5MTlhMWNmL3RhYmxlOmZlZTk0NGRkMzE4ZDRiYzliMWMyYWMyNjdiM2Y5Y2JkL3RhYmxlcmFuZ2U6ZmVlOTQ0ZGQzMThkNGJjOWIxYzJhYzI2N2IzZjljYmRfMy0zLTEtMS0w_d000f059-581b-40a8-b9e3-0fb4daee5515"
      unitRef="usd">44000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8zODQ4MjkwNzIzODMz_d0add849-252f-4240-aae2-2a328581c2f6">Revenue Recognition&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance Obligation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for revenue in accordance with ASC Topic 606, &#x201c;Revenue from Contracts with Customers&#x201d;. The unit of account in ASC 606 is a performance obligation, which is a promise in a contract with a customer to transfer a good or service to the customer. Timing of the satisfaction of performance obligations varies across our businesses due to our diverse product and service mix, customer base, and contractual terms. Significant judgment can be required in determining certain performance obligations, and these determinations could change the amount of revenue and profit recorded in a given period.&#160; Our contracts may have a single performance obligation or multiple performance obligations. When there are multiple performance obligations within a contract, we allocate the transaction price to each performance obligation based on our best estimate of standalone selling price.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contracts are routinely and often modified to account for changes in contract requirements, specifications, quantities, or price.&#160; Depending on the nature of the modification, we determine whether to account for the modification as an adjustment to the existing contract or as a new contract.&#160; Generally, modifications are not distinct from the existing contract due to the significant interrelatedness of the performance obligations and are therefore accounted for as an adjustment to the existing contract, and recognized as a cumulative adjustment to revenue (as either an increase or reduction of revenue) based on the modification&#x2019;s effect on progress toward completion of a performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our revenue is recognized over time, as control is transferred continuously to our customers who receive and consume benefits as we perform, and is classified as services revenue.&#160; Revenue transferred to customers over time accounted for 91% and 92% of our revenue for the three and nine months ended September 30, 2021, and 93% and 92% of our revenue for the three and nine months ended September 30, 2020. All of our business groups earn services revenue under a variety of contract types, including time and materials, firm-fixed-price, firm-fixed-price level of effort, and cost plus fixed fee contract types, which may include variable consideration as discussed further below. Revenue is recognized over time using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material, subcontractor costs and indirect expenses. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue that is recognized at a point in time is for the sale of software licenses in our Information Assurance / Xacta&#xae; and Secure Communications business groups and for the sale of resold products in Telos ID and Secure Networks, and is classified as product revenue.&#160; Revenue transferred to customers at a point in time accounted for 9% and 8% of our revenue for the three and nine months ended September 30, 2021 and 7% and 8% of our revenue for the three and nine months ended September 30, 2020. Revenue on these contracts is recognized when the customer obtains control of the transferred product or service, which is generally upon delivery of the product to the customer for their use, due to us maintaining control of the product until that point. Orders for the sale of software licenses may contain multiple performance obligations, such as maintenance, training, or consulting services, which are typically delivered over time, consistent with the transfer of control disclosed above for the provision of services. When an order contains multiple performance obligations, we allocate the transaction price to the performance obligations using our best estimate of standalone selling price.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Contract Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to the transfer of control over time, revenue is recognized based on progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the performance obligations. We generally use the cost-to-cost measure of progress on a proportional performance basis for our contracts because it best depicts the transfer of control to the customer which occurs as we incur costs on our contracts. Under the cost-to-cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenues are recorded proportionally as costs are incurred. Due to the nature of the work required to be performed on certain of our performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment.&#160; Contract estimates are based on various assumptions including labor and subcontractor costs, materials and other direct costs and the complexity of the work to be performed. A significant change in one or more of these estimates could affect the profitability of our contracts. We review and update our contract-related estimates regularly and recognize adjustments in estimated profit on contracts on a cumulative catch-up basis, which may result in an adjustment increasing or decreasing revenue to date on a contract in a particular period that the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contracts may include various types of variable consideration, such as claims (for instance, indirect rate or other equitable adjustments) or incentive fees. We include estimated amounts in the transaction price based on all of the information available to us, including historical information and future estimations, and to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when any uncertainty associated with the variable consideration is resolved.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically, most of our contracts do not include award or incentive fees. For incentive fees, we would include such fees in the transaction price to the extent we could reasonably estimate the amount of the fee.&#160; With limited historical experience, we have not included any revenue related to incentive fees in our estimated transaction prices.&#160; We may include in our contract estimates additional revenue for submitted contract modifications or claims against the customer when we believe we have an enforceable right to the modification or claim, the amount can be estimated reliably and its realization is probable. We consider the contractual/legal basis for the claim (in particular the FAR provisions), the facts and circumstances around any additional costs incurred, the reasonableness of those costs and the objective evidence available to support such claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For our contracts that have an original duration of one year or less, we use the practical expedient applicable to such contracts and do not consider the time value of money. We capitalize sales commissions related to proprietary software and related services that are directly tied to sales. We do not elect the practical expedient to expense as incurred the incremental costs of obtaining a contract if the amortization period would have been one year or less. For the sales commissions that are capitalized, we amortize the asset over the expected customer life, which is based on recent and historical data. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have one reportable segment in accordance with ASC 280, &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;Segment Reporting&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, as such, the disaggregation of revenue below reconciles directly to its unique reportable segment. We treat sales to U.S. customers as sales within the U.S. regardless of where the services are performed. Substantially all of our revenues are from U.S. customers as revenue derived from international customers is not currently meaningful. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables disclose revenue (in thousands) by customer type and contract type for the three and nine months ended September&#160;30, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.596%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.596%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.978%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.596%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.830%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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&lt;br/&gt;September 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;Nine Months Ended&lt;br/&gt;September 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 #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;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&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;67,697&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State &amp;amp; Local, and Commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-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;70,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,029&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.292%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.981%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.640%"/&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&lt;br/&gt;September 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;Nine Months Ended&lt;br/&gt;September 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 #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;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Firm-fixed-price&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;61,434&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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;70,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #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="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;47,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #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="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;178,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #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="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;135,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets&#160;are amounts that are invoiced as work progresses in accordance with agreed-upon contractual terms, either at periodic intervals or upon achievement of contractual milestones. Generally, revenue recognition occurs before billing, resulting in contract assets. These contract assets are referred to as unbilled receivables and are reported within accounts receivable, net of reserve on our condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Billed receivables are amounts billed and due from our customers and are reported within accounts receivable, net of reserve on the condensed consolidated balance sheets. The portion of the payments retained by the customer until final contract settlement is not considered a significant financing component due to the intent of the retainage being the customer&#x2019;s protection with respect to full and final performance under the contract.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract liabilities&#160;are payments received in advance and milestone payments from our customers on selected contracts that exceed revenue earned to date, resulting in contract liabilities. Contract liabilities typically are not considered a significant financing component because they are generally satisfied within one year and are used to meet working capital demands that can be higher in the early stages of a contract. Contract liabilities are reported on our condensed consolidated balance sheets on a net contract basis at the end of each reporting period. As of September&#160;30, 2021 and December&#160;31, 2020, the contract liabilities primarily related to product support services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides information about accounts receivable, contract assets and contract liabilities (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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;September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Billed accounts receivable&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;10,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unbilled receivables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for doubtful accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(308)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Accounts receivable &#x2013; net&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;49,759&#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;30,913&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant changes in the contract liabilities balance (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&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&lt;br/&gt;September 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;Nine Months Ended&lt;br/&gt;September 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 #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;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized that was included in the opening contract liability balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.106%"/&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;September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remaining performance obligations (funded backlog)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 7pt 2px 0;text-align:right;vertical-align: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,351&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom: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:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We expect to recognize approximately 95% of our remaining performance obligations over the next 12 months and the balance thereafter.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8zODQ4MjkwNzIzODM3_7b37f19c-2e55-4c10-a5b9-a3339f36acca">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance Obligation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for revenue in accordance with ASC Topic 606, &#x201c;Revenue from Contracts with Customers&#x201d;. The unit of account in ASC 606 is a performance obligation, which is a promise in a contract with a customer to transfer a good or service to the customer. Timing of the satisfaction of performance obligations varies across our businesses due to our diverse product and service mix, customer base, and contractual terms. Significant judgment can be required in determining certain performance obligations, and these determinations could change the amount of revenue and profit recorded in a given period.&#160; Our contracts may have a single performance obligation or multiple performance obligations. When there are multiple performance obligations within a contract, we allocate the transaction price to each performance obligation based on our best estimate of standalone selling price.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contracts are routinely and often modified to account for changes in contract requirements, specifications, quantities, or price.&#160; Depending on the nature of the modification, we determine whether to account for the modification as an adjustment to the existing contract or as a new contract.&#160; Generally, modifications are not distinct from the existing contract due to the significant interrelatedness of the performance obligations and are therefore accounted for as an adjustment to the existing contract, and recognized as a cumulative adjustment to revenue (as either an increase or reduction of revenue) based on the modification&#x2019;s effect on progress toward completion of a performance obligation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our revenue is recognized over time, as control is transferred continuously to our customers who receive and consume benefits as we perform, and is classified as services revenue.&#160; Revenue transferred to customers over time accounted for 91% and 92% of our revenue for the three and nine months ended September 30, 2021, and 93% and 92% of our revenue for the three and nine months ended September 30, 2020. All of our business groups earn services revenue under a variety of contract types, including time and materials, firm-fixed-price, firm-fixed-price level of effort, and cost plus fixed fee contract types, which may include variable consideration as discussed further below. Revenue is recognized over time using costs incurred to date relative to total estimated costs at completion to measure progress toward satisfying our performance obligations. Incurred cost represents work performed, which corresponds with, and thereby best depicts, the transfer of control to the customer. Contract costs include labor, material, subcontractor costs and indirect expenses. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue that is recognized at a point in time is for the sale of software licenses in our Information Assurance / Xacta&#xae; and Secure Communications business groups and for the sale of resold products in Telos ID and Secure Networks, and is classified as product revenue.&#160; Revenue transferred to customers at a point in time accounted for 9% and 8% of our revenue for the three and nine months ended September 30, 2021 and 7% and 8% of our revenue for the three and nine months ended September 30, 2020. Revenue on these contracts is recognized when the customer obtains control of the transferred product or service, which is generally upon delivery of the product to the customer for their use, due to us maintaining control of the product until that point. Orders for the sale of software licenses may contain multiple performance obligations, such as maintenance, training, or consulting services, which are typically delivered over time, consistent with the transfer of control disclosed above for the provision of services. When an order contains multiple performance obligations, we allocate the transaction price to the performance obligations using our best estimate of standalone selling price.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Contract Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Due to the transfer of control over time, revenue is recognized based on progress towards completion of the performance obligation. The selection of the method to measure progress towards completion requires judgment and is based on the nature of the performance obligations. We generally use the cost-to-cost measure of progress on a proportional performance basis for our contracts because it best depicts the transfer of control to the customer which occurs as we incur costs on our contracts. Under the cost-to-cost measure of progress, the extent of progress towards completion is measured based on the ratio of costs incurred to date to the total estimated costs at completion of the performance obligation. Revenues are recorded proportionally as costs are incurred. Due to the nature of the work required to be performed on certain of our performance obligations, the estimation of total revenue and cost at completion is complex, subject to many variables and requires significant judgment.&#160; Contract estimates are based on various assumptions including labor and subcontractor costs, materials and other direct costs and the complexity of the work to be performed. A significant change in one or more of these estimates could affect the profitability of our contracts. We review and update our contract-related estimates regularly and recognize adjustments in estimated profit on contracts on a cumulative catch-up basis, which may result in an adjustment increasing or decreasing revenue to date on a contract in a particular period that the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contracts may include various types of variable consideration, such as claims (for instance, indirect rate or other equitable adjustments) or incentive fees. We include estimated amounts in the transaction price based on all of the information available to us, including historical information and future estimations, and to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when any uncertainty associated with the variable consideration is resolved.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Historically, most of our contracts do not include award or incentive fees. For incentive fees, we would include such fees in the transaction price to the extent we could reasonably estimate the amount of the fee.&#160; With limited historical experience, we have not included any revenue related to incentive fees in our estimated transaction prices.&#160; We may include in our contract estimates additional revenue for submitted contract modifications or claims against the customer when we believe we have an enforceable right to the modification or claim, the amount can be estimated reliably and its realization is probable. We consider the contractual/legal basis for the claim (in particular the FAR provisions), the facts and circumstances around any additional costs incurred, the reasonableness of those costs and the objective evidence available to support such claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For our contracts that have an original duration of one year or less, we use the practical expedient applicable to such contracts and do not consider the time value of money. We capitalize sales commissions related to proprietary software and related services that are directly tied to sales. We do not elect the practical expedient to expense as incurred the incremental costs of obtaining a contract if the amortization period would have been one year or less. For the sales commissions that are capitalized, we amortize the asset over the expected customer life, which is based on recent and historical data. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have one reportable segment in accordance with ASC 280, &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;Segment Reporting&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, as such, the disaggregation of revenue below reconciles directly to its unique reportable segment. We treat sales to U.S. customers as sales within the U.S. regardless of where the services are performed. Substantially all of our revenues are from U.S. customers as revenue derived from international customers is not currently meaningful. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract assets&#160;are amounts that are invoiced as work progresses in accordance with agreed-upon contractual terms, either at periodic intervals or upon achievement of contractual milestones. Generally, revenue recognition occurs before billing, resulting in contract assets. These contract assets are referred to as unbilled receivables and are reported within accounts receivable, net of reserve on our condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Billed receivables are amounts billed and due from our customers and are reported within accounts receivable, net of reserve on the condensed consolidated balance sheets. The portion of the payments retained by the customer until final contract settlement is not considered a significant financing component due to the intent of the retainage being the customer&#x2019;s protection with respect to full and final performance under the contract.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract liabilities&#160;are payments received in advance and milestone payments from our customers on selected contracts that exceed revenue earned to date, resulting in contract liabilities. Contract liabilities typically are not considered a significant financing component because they are generally satisfied within one year and are used to meet working capital demands that can be higher in the early stages of a contract. Contract liabilities are reported on our condensed consolidated balance sheets on a net contract basis at the end of each reporting period. As of September&#160;30, 2021 and December&#160;31, 2020, the contract liabilities primarily related to product support services.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i1d932bd5ee364b299cef1e4c94a6a58c_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY3ODYz_627a6b64-5239-4b47-bc59-b1059c5415f9"
      unitRef="number">0.91</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iec7970753eea4f29b6133cb14d534ee3_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY4Njcy_8508ceda-5e35-424b-ab9f-8a4e0a2e74f4"
      unitRef="number">0.92</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8c7b67277641487f87cf43107f0a6e66_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY3ODc1_b20322f3-e3bf-4901-9ca1-e046c024dcc1"
      unitRef="number">0.93</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="if06d46b4ffa84020b812d2084b4a4876_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY3ODgy_ad67ed21-e034-4100-8cb2-3e5ab39d197d"
      unitRef="number">0.92</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="if3de875173c6456abf2d06b0e7cf82be_D20210701-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY4MDUw_3e6b9c22-5d4b-4e67-9160-791740b9093b"
      unitRef="number">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i90728933c3dc4e7d994ccede7ee6a01f_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY4MDU3_a0f8a16c-f55e-4f4f-aa5e-16907eb0a62a"
      unitRef="number">0.08</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i8af7dea98e70486d94a5087521e8047f_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY4MDYz_b9d417fb-309e-48f9-9de8-81299ca87564"
      unitRef="number">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia4643f7c12884695a652dec8fc91d838_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY4MDY5_9126e853-3fa2-4d5f-bfac-ecf8d94d00c5"
      unitRef="number">0.08</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NumberOfReportableSegments
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY4Mjcx_6fc45042-95cb-45d4-ad43-ca9566f58921"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xNjQ5MjY3NDY4Mjcx_cf12aa58-e66a-4909-b66c-6003bd846d15"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8zODQ4MjkwNzIzODM0_bc1a4177-2c42-41d7-96b3-fb2112860c08">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables disclose revenue (in thousands) by customer type and contract type for the three and nine months ended September&#160;30, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.168%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.596%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.596%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.978%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.596%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.830%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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&lt;br/&gt;September 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;Nine Months Ended&lt;br/&gt;September 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 #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;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&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;67,697&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;171,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,756&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State &amp;amp; Local, and Commercial&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,652&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,292&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-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;70,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;135,029&#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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.292%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.981%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.640%"/&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&lt;br/&gt;September 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;Nine Months Ended&lt;br/&gt;September 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 #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;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Firm-fixed-price&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;61,434&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,832&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Time-and-materials&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,154&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost plus fixed fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,352&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="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="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;70,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #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="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;47,440&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #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="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;178,383&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #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="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;135,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i71e0432ed6c8478fa46bb569a68fe44d_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV8yLTEtMS0xLTIzMDY_c0039457-2af4-4565-a8d8-373d8d1ca833"
      unitRef="usd">67697000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id5db66859438477ebc0b7dbcaae0c1c6_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV8yLTMtMS0xLTIzMDY_fd2fbb6c-4d0c-42cf-8a07-fe4c04ea12bb"
      unitRef="usd">45788000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iefa702814fea4b07a18f3a80006b3f48_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV8yLTUtMS0xLTIzMDY_d7720f3a-5090-4706-a938-2b999d1bae13"
      unitRef="usd">171091000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia4380924e51849c8817702c61975614c_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV8yLTctMS0xLTIzMDY_c479cbb1-54fe-4c9e-bc42-cfec87fb4d3a"
      unitRef="usd">128756000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id9a831acde8945079cac174b66a3593e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV8zLTEtMS0xLTIzMDY_ff380daa-3fbc-49a4-851d-78c79a2a345f"
      unitRef="usd">2369000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ice25896f16554e1abf7f71787d180144_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV8zLTMtMS0xLTIzMDY_5481c458-9abf-4ec8-8399-8a472f9deb97"
      unitRef="usd">1652000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8a80df283df54b53a25dfd26a204a0ca_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV8zLTUtMS0xLTIzMDY_80b89391-9042-42f1-87f2-ba8f3c6126d0"
      unitRef="usd">7292000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0c36cee5efe04dcf8bb63f9db4f9881b_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV8zLTctMS0xLTIzMDY_a30d58f7-aa9d-4af1-806c-c6b18fae3c7f"
      unitRef="usd">6273000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV80LTEtMS0xLTIzMDY_98a3b4e4-9a7c-46d8-b715-70e21fe11ece"
      unitRef="usd">70066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV80LTMtMS0xLTIzMDY_0ebe998d-3fe1-4458-aa13-6169b868b8dc"
      unitRef="usd">47440000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV80LTUtMS0xLTIzMDY_0f690b52-be1d-410d-9c9e-9bdf77da0b99"
      unitRef="usd">178383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NzMxNzliYTQ2YjM4NGJjZDhjNjVhMGQzMGNjMWY2MzEvdGFibGVyYW5nZTo3MzE3OWJhNDZiMzg0YmNkOGM2NWEwZDMwY2MxZjYzMV80LTctMS0xLTIzMDY_6924029b-71cf-415c-921a-62069562871c"
      unitRef="usd">135029000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i39ebb8e9e46e4d7cb34c31b37d063309_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF8yLTEtMS0xLTIzMDY_daa394ab-3ca1-448f-b72a-9bec676ee843"
      unitRef="usd">61434000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4f79e99caac1443d9b281e62a99060ce_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF8yLTMtMS0xLTIzMDY_812e8dad-dfd5-471a-8d06-ac2637d5f99c"
      unitRef="usd">39483000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5b43b7592e2b4b9e8c4bf9f94fa0d928_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF8yLTUtMS0xLTIzMDY_c681e0a0-235b-4eb4-8746-9e59df995031"
      unitRef="usd">155832000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i224ac391cfbf4e32be5470dd7d820c34_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF8yLTctMS0xLTIzMDY_5738f259-ebbb-4ede-9fde-ad21000c9955"
      unitRef="usd">113080000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if73cf1496d6f4931ade43b461e156b23_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF8zLTEtMS0xLTIzMDY_0851d7dd-decf-49ce-a5d3-6bf80a43b768"
      unitRef="usd">3154000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if361ea0960d6443598f9570ad682cb20_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF8zLTMtMS0xLTIzMDY_f72f3911-87a0-4008-89f4-7013e24f8143"
      unitRef="usd">3605000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if6730d2a54804263b622f3d04b71762e_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF8zLTUtMS0xLTIzMDY_31cd5b64-0098-4715-bae0-1eddbd89c02d"
      unitRef="usd">9243000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if2d69fbae469460ea25a0403ae44495f_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF8zLTctMS0xLTIzMDY_7a664dd9-a04c-445d-89f2-902f29e278e8"
      unitRef="usd">11066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3b8b77ba568f4eaf855a2b1d4a34e042_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF80LTEtMS0xLTIzMDY_42885058-c02d-48cd-82ab-5084d6b25496"
      unitRef="usd">5478000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e4d366511054ac4ba59ec3e35995998_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF80LTMtMS0xLTIzMDY_da7a55f0-6bd5-43fb-9b11-bce51fbc8020"
      unitRef="usd">4352000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i644792028c45451488490c5deff95317_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF80LTUtMS0xLTIzMDY_405ef28f-39af-427b-8394-2d47209e9922"
      unitRef="usd">13308000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i260869044a474bd695298ba430904cef_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF80LTctMS0xLTIzMDY_18a96dec-444b-46e0-b041-de2c16b1a53e"
      unitRef="usd">10883000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF81LTEtMS0xLTIzMDY_42f94172-a536-4673-a899-79e3b4315663"
      unitRef="usd">70066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF81LTMtMS0xLTIzMDY_993f2aba-8785-4fe7-a27b-cba3bd138030"
      unitRef="usd">47440000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF81LTUtMS0xLTIzMDY_d8a4bc3c-680b-4bff-b3e2-87c3bdf9d97a"
      unitRef="usd">178383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6NjM3ODAxZjBlMjE0NDEwZWFiNGU2OTUyZDhmYTFjNTAvdGFibGVyYW5nZTo2Mzc4MDFmMGUyMTQ0MTBlYWI0ZTY5NTJkOGZhMWM1MF81LTctMS0xLTIzMDY_a3354802-a00f-4804-8296-4d7426e3df26"
      unitRef="usd">135029000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8zODQ4MjkwNzIzODM1_9f200541-01e2-4f7e-8ff5-bdc6b58ea5fe">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides information about accounts receivable, contract assets and contract liabilities (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.894%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.536%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="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;September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Billed accounts receivable&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;10,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unbilled receivables&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,717&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Allowance for doubtful accounts&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(308)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Accounts receivable &#x2013; net&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;49,759&#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;30,913&#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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,232&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant changes in the contract liabilities balance (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.969%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&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&lt;br/&gt;September 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;Nine Months Ended&lt;br/&gt;September 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 #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;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue recognized that was included in the opening contract liability balance&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.106%"/&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;September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Remaining performance obligations (funded backlog)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 7pt 2px 0;text-align:right;vertical-align: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,351&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;127,735&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF8xLTEtMS0xLTIzMDY_3d25e010-5f8b-4c0c-8f22-701cdd26f828"
      unitRef="usd">10158000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF8xLTMtMS0xLTIzMDY_83ea991e-94fe-4b05-afd5-21d8ff8f4e99"
      unitRef="usd">12060000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:ContractWithCustomerAssetGrossCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF8yLTEtMS0xLTIzMDY_ba13b3ba-6e9e-45ea-9a15-f9a1cae9e522"
      unitRef="usd">39717000</us-gaap:ContractWithCustomerAssetGrossCurrent>
    <us-gaap:ContractWithCustomerAssetGrossCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF8yLTMtMS0xLTIzMDY_8c3f8dcb-f6bf-43e1-8888-e98374c0f5b4"
      unitRef="usd">19161000</us-gaap:ContractWithCustomerAssetGrossCurrent>
    <tls:AccountsReceivableAndContractWithCustomerAssetAllowanceForCreditLossCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF8zLTEtMS0xLTIzMDY_6e2792f2-39a9-42d8-b8e2-a2421bd8a621"
      unitRef="usd">116000</tls:AccountsReceivableAndContractWithCustomerAssetAllowanceForCreditLossCurrent>
    <tls:AccountsReceivableAndContractWithCustomerAssetAllowanceForCreditLossCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF8zLTMtMS0xLTIzMDY_2c0d8527-5ff7-4b68-823b-39fc65884f3e"
      unitRef="usd">308000</tls:AccountsReceivableAndContractWithCustomerAssetAllowanceForCreditLossCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF80LTEtMS0xLTIzMDY_2ce97ed8-b82c-4168-87d2-437d86347bed"
      unitRef="usd">49759000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF80LTMtMS0xLTIzMDY_b0c271f1-0883-4dce-8bdd-0b41383718f9"
      unitRef="usd">30913000</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF81LTEtMS0xLTM3NTE_b93c30ed-4ec6-41f4-ac3f-ee0c18693d5d"
      unitRef="usd">7232000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6ZDliMjcyODEwOWRmNDc4MGIxNjlhNzZmZWUyZTM2MjQvdGFibGVyYW5nZTpkOWIyNzI4MTA5ZGY0NzgwYjE2OWE3NmZlZTJlMzYyNF81LTMtMS0xLTMzOTI_9258760c-d3cf-424a-97b3-3b604e4cf051"
      unitRef="usd">5654000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6OGVlZjRiNDg1OTM0NDEwNzkzMjNiYmM5OTk3ZGQwZWMvdGFibGVyYW5nZTo4ZWVmNGI0ODU5MzQ0MTA3OTMyM2JiYzk5OTdkZDBlY18yLTEtMS0xLTM1NDU_9a7bf5b5-910c-425c-9920-05a193c2e20a"
      unitRef="usd">823000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6OGVlZjRiNDg1OTM0NDEwNzkzMjNiYmM5OTk3ZGQwZWMvdGFibGVyYW5nZTo4ZWVmNGI0ODU5MzQ0MTA3OTMyM2JiYzk5OTdkZDBlY18yLTMtMS0xLTM2NTE_ae25386c-aec5-4d28-af2f-c51ec683844b"
      unitRef="usd">1690000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6OGVlZjRiNDg1OTM0NDEwNzkzMjNiYmM5OTk3ZGQwZWMvdGFibGVyYW5nZTo4ZWVmNGI0ODU5MzQ0MTA3OTMyM2JiYzk5OTdkZDBlY18yLTUtMS0xLTM2OTQ_86a014a4-75c5-44fa-a37e-77923a7d148c"
      unitRef="usd">4065000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6OGVlZjRiNDg1OTM0NDEwNzkzMjNiYmM5OTk3ZGQwZWMvdGFibGVyYW5nZTo4ZWVmNGI0ODU5MzQ0MTA3OTMyM2JiYzk5OTdkZDBlY18yLTctMS0xLTM3MjA_f1f47cd4-cd94-45a6-aed2-6221b99b367d"
      unitRef="usd">5208000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6YzM3ZjM4MDVjMzVkNDNmMmE2NWY1MjY0ZTQ4OWI3ZDQvdGFibGVyYW5nZTpjMzdmMzgwNWMzNWQ0M2YyYTY1ZjUyNjRlNDg5YjdkNF8yLTEtMS0xLTE2NDk4_823571c8-6e1f-4aa0-8f88-76ec6b78f193"
      unitRef="usd">163351000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGFibGU6YzM3ZjM4MDVjMzVkNDNmMmE2NWY1MjY0ZTQ4OWI3ZDQvdGFibGVyYW5nZTpjMzdmMzgwNWMzNWQ0M2YyYTY1ZjUyNjRlNDg5YjdkNF8yLTItMS0xLTE2NDkx_6bbff757-f1c9-448a-9979-4e7ae58e22b6"
      unitRef="usd">127735000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="i41a244cf3621437ea82979a54dbe352b_I20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xMDk5NTExNjY0OTAz_d87c0b21-e9c4-4c84-87f0-d1a405c025a7"
      unitRef="number">0.95</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i41a244cf3621437ea82979a54dbe352b_I20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDc5L2ZyYWc6ODcwZmMwOTdmODdjNDI5NDg0Mzk4YTZlODBmMTNkNWIvdGV4dHJlZ2lvbjo4NzBmYzA5N2Y4N2M0Mjk0ODQzOThhNmU4MGYxM2Q1Yl8xMDk5NTExNjY0OTE3_e02d51d3-fa08-4dfb-aa7e-a34c166bd034">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:MinorityInterestDisclosureTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMzIwOQ_3a2ce0ad-84f5-4620-ac46-91d41b961b4c">Non-controlling Interests / Purchase of Telos ID&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;11, 2007, Telos ID was formed as a limited liability company under the Delaware Limited Liability Company Act. We contributed substantially all of the assets of our Telos ID Enterprise business line and assigned our rights to perform under our U.S. Government contract with the Defense Manpower Data Center to Telos ID at their stated book value, amounting to $17,000. Until April&#160;19, 2007, we owned 99.999% of the membership interests of Telos ID and Hoya ID Funds A, LLC ("Hoya") owned 0.001% of the membership interests of Telos ID. On April&#160;20, 2007, we sold an additional 39.999% of the membership interests to Hoya for $6 million in cash consideration, resulting in 60% ownership of Telos ID.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On December&#160;24, 2014, Hoya acquired from the Company an additional ten percent (10%) membership interest in Telos ID in exchange for $5 million (the &#x201c;2014 Transaction&#x201d;). In connection with the 2014 Transaction, the Company and Hoya entered into the Second Amended and Restated Operating Agreement (the &#x201c;Operating Agreement&#x201d;) governing the business, allocation of profits and losses and management of Telos ID. Under the Operating Agreement, Telos ID was managed by a board of directors comprised of five (5) members (the &#x201c;Telos ID Board&#x201d;). The Company owned 50% of Telos ID, was entitled to receive 50% of the profits of Telos ID, and could appoint three (3) members of the Telos ID Board. Hoya owned 50% of Telos ID, was entitled to receive 50% of the profits of Telos ID, and could appoint two (2) members of the Telos ID Board.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a result of the 2014 Transaction, each of the members owned 50% of Telos ID, as mentioned above, and as such each was allocated 50% of the profits, which was $2.7 million and $6.3 million for the three and nine months ended September&#160;30, 2020, respectively. Hoya held the non-controlling interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October&#160;5, 2020, we entered into a Membership Interest Purchase Agreement between the Company and Hoya to purchase all of the Class&#160;B Units of Telos ID owned by Hoya (the &#x201c;Telos ID Purchase&#x201d;). Upon the closing of the Telos ID Purchase, Telos ID became our wholly owned subsidiary. On November&#160;23, 2020, the Telos ID Purchase was consummated with the Company transferring $30.0 million in cash and issuing 7,278,040 shares of our common stock at $20.39 per share (which totals approximately $148.4 million); the total consideration transferred to Hoya was $178.4 million. As part of the common stock issuance, the Company recognized an increase to additional paid-in capital (&#x201c;APIC&#x201d;) of $148.4 million. The Company further recognized a reduction to APIC of $173.9 million as part of the elimination of Hoya&#x2019;s non-controlling interest in Telos ID. The net impact to APIC associated with the acquisition of the additional 50% interest in Telos ID was a reduction of $25.5 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Distributions were made to the members only when and to the extent determined by Telos ID&#x2019;s Board of Directors, in accordance with the Operating Agreement. Hoya received a final distribution of $2.4 million in January 2021, which was accrued and presented in accounts payable and other accrued liabilities in the condensed consolidated balance sheets as of December&#160;31, 2020. Hoya received a total distribution of $0.3 million and $1.3 million during the three and nine months ended September&#160;30, 2020, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:MinorityInterestDisclosureTextBlock>
    <tls:NetBookValueOfAssetsContributed
      contextRef="i6e1521dd4bd84bc7ac8f0dfafa9a322f_I20070411"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfNDY5_8f346620-898f-447b-be95-1c1990c0439f"
      unitRef="usd">17000</tls:NetBookValueOfAssetsContributed>
    <us-gaap:SaleOfStockPercentageOfOwnershipBeforeTransaction
      contextRef="i53b0558090cf49c5af1bd06c6f0cee8e_D20070419-20070419"
      decimals="5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfNDky_bc08758a-8501-4f56-a7cd-61dc683873bd"
      unitRef="number">0.99999</us-gaap:SaleOfStockPercentageOfOwnershipBeforeTransaction>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="ia3ef464ee4a74ec0855d289892cde444_I20070419"
      decimals="5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfNTc1_9d0335fa-6921-4616-b038-ed36a952b0c2"
      unitRef="number">0.00001</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <tls:PercentageOfMembershipInterestSoldToInvestor
      contextRef="i943ede538ade46f6a4aa89d476116d64_I20070420"
      decimals="5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfNjQ4_891f1011-718c-4ce3-be00-8b4a44a0cb0b"
      unitRef="number">0.39999</tls:PercentageOfMembershipInterestSoldToInvestor>
    <tls:CashConsiderationReceivedOnSaleOfMembershipInterest
      contextRef="i943ede538ade46f6a4aa89d476116d64_I20070420"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfNzAz_3fa6bbd9-daee-402c-b26b-504623e268d1"
      unitRef="usd">6000000</tls:CashConsiderationReceivedOnSaleOfMembershipInterest>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="i9ac9dbb87a8a45ada231c39a2a8ad536_D20070420-20070420"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfNzUx_af68db83-a10a-4eac-b946-fc4cc6fb76b2"
      unitRef="number">0.60</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <tls:PercentageOfMembershipInterestSoldToInvestor
      contextRef="ied5135097b9e430c9d4ad508e10ff7fd_I20141224"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfOTMw_641818fa-d080-4fd5-8ff1-f689fbce7bb9"
      unitRef="number">0.10</tls:PercentageOfMembershipInterestSoldToInvestor>
    <tls:CashConsiderationReceivedOnSaleOfMembershipInterest
      contextRef="ied5135097b9e430c9d4ad508e10ff7fd_I20141224"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfOTgy_3ede1623-4587-4c7a-9d6d-00b162fdbc91"
      unitRef="usd">5000000</tls:CashConsiderationReceivedOnSaleOfMembershipInterest>
    <tls:NumberOfMembersInBoardOfDirector
      contextRef="i389c363f5ed54fd29ff004f9bef39fdb_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTM0Mg_8f57f854-684b-40c4-a641-64425b1bdea1"
      unitRef="member">5</tls:NumberOfMembersInBoardOfDirector>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="i3cebff9d3eae4da0a8e3f249297bbd56_D20141224-20141224"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTM5Ng_33c637d0-0a7f-4285-93a3-96cbce96aad3"
      unitRef="number">0.50</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <tls:PercentageOfProfitAndLossAllocated
      contextRef="i86b6cf1f48bd430ab1fe8d3182ef3203_I20141224"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTQzNg_f8b7b7e5-d4b3-4764-b142-52c8f6caf49c"
      unitRef="number">0.50</tls:PercentageOfProfitAndLossAllocated>
    <tls:NumberOfDirectorsEntitledToAppoint
      contextRef="i3cebff9d3eae4da0a8e3f249297bbd56_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTQ5Mg_7d4e24c8-88e9-47fa-b8d1-c63f63c236f1"
      unitRef="member">3</tls:NumberOfDirectorsEntitledToAppoint>
    <us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction
      contextRef="i2357b5e917a7410481c7bc5226f8821a_D20141224-20141224"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTUzOA_e2bc5f1e-0cd2-4e01-a15b-30a448185e40"
      unitRef="number">0.50</us-gaap:SaleOfStockPercentageOfOwnershipAfterTransaction>
    <tls:PercentageOfProfitAndLossAllocated
      contextRef="iff83c8d167c34700a6de396738cf4d4e_I20141224"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTU3OA_0acec4e5-b906-4547-a98d-7fca6012d7f2"
      unitRef="number">0.50</tls:PercentageOfProfitAndLossAllocated>
    <tls:NumberOfDirectorsEntitledToAppoint
      contextRef="i2357b5e917a7410481c7bc5226f8821a_D20141224-20141224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTYzMg_899668e9-b5d3-420b-8b56-b76f3666dd64"
      unitRef="member">2</tls:NumberOfDirectorsEntitledToAppoint>
    <tls:AdditionalPercentageOfOwnershipAcquired
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTcyOA_906778fd-79f1-43a4-9485-f9e9ad0f1c9d"
      unitRef="number">0.50</tls:AdditionalPercentageOfOwnershipAcquired>
    <tls:PercentageOfProfitAndLossAllocated
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTc5NQ_2ff64767-3a18-4c05-aec6-670ce7e38a1b"
      unitRef="number">0.50</tls:PercentageOfProfitAndLossAllocated>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTgyNA_ebf9e998-f549-4193-9b98-65139b9ff2c5"
      unitRef="usd">2700000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTgzMQ_d1ed9941-9193-4a08-a058-cd7c9d10bb9f"
      unitRef="usd">6300000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjI2Mg_02f6162f-86e8-457e-be74-25e51a88b117"
      unitRef="usd">30000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued
      contextRef="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjI4NQ_bcb06697-35f0-4fe6-a717-047998ecfe48"
      unitRef="shares">7278040</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <us-gaap:BusinessAcquisitionSharePrice
      contextRef="ifd215ce6a0364427acb53f0c49f26d38_I20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjMxOA_f70590c6-f9dd-4386-ba9b-d6930add9b26"
      unitRef="usdPerShare">20.39</us-gaap:BusinessAcquisitionSharePrice>
    <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable
      contextRef="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjM1OQ_5bbd9254-ec46-4121-bd1d-e1bcc3a5aa43"
      unitRef="usd">148400000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjQxMg_e53d7080-b08b-4d99-af52-d4599d56e39d"
      unitRef="usd">178400000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts
      contextRef="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjUzMQ_5048771a-9c5d-446c-8a5c-ac95545457fd"
      unitRef="usd">148400000</us-gaap:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts>
    <us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination
      contextRef="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjU4OQ_41374eba-54c8-4eeb-847b-04ae618b426e"
      unitRef="usd">173900000</us-gaap:NoncontrollingInterestIncreaseFromBusinessCombination>
    <tls:AdditionalPercentageOfOwnershipAcquired
      contextRef="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjc0MA_ca0875b1-599e-4834-a9d2-b8775cae40be"
      unitRef="number">0.50</tls:AdditionalPercentageOfOwnershipAcquired>
    <tls:ImpactOfStockIssuanceToAdditionalPaidInCapitalFromBusinessCombination
      contextRef="i3b2fb8f5918d4923b94c9be19bad8c3f_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjc4Mw_98e21d36-af56-4574-b629-74c0b61de585"
      unitRef="usd">25500000</tls:ImpactOfStockIssuanceToAdditionalPaidInCapitalFromBusinessCombination>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="ic1d98754f1264bc6b108937f3aca8d2e_D20210101-20210131"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMjk4MQ_c2ebf80c-9355-409a-aec1-c49e85f9433c"
      unitRef="usd">2400000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="ib80855dd95944f00b61f2ab8f5ab45ed_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMTA5OTUxMTYzMTAyNg_4af80e4a-1db3-4db4-ae97-b2194e89e1af"
      unitRef="usd">300000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders
      contextRef="i93aaf468f62a4740a1d982e2ec4efa10_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80MC9mcmFnOjA2YjYwMzEzYTBlNzRlZjRhNGFhODU2ZjFmNDNlMGRmL3RleHRyZWdpb246MDZiNjAzMTNhMGU3NGVmNGE0YWE4NTZmMWY0M2UwZGZfMzE2Ng_2bb154fc-31a6-4fd3-8ec6-356347c6a541"
      unitRef="usd">1300000</us-gaap:MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8zODQ4MjkwNzEyNDU1_0d95a51e-9cd3-4eaf-a1dc-4257aea26f14">Acquisition&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;On July&#160;30, 2021, the Company acquired the assets of Diamond Fortress Technologies ("DFT") and wholly-owned subsidiaries for a total purchase consideration of $6.7 million, inclusive of $0.3 million related to a pre-existing contractual arrangement with DFT. Upon closing, $5.9 million of cash was paid with an additional $0.6 million payable to DFT 18 months after the close date (the "holdback"). The holdback amount has been discounted to its present value of $0.5 million using a discount rate relevant to the acquisition. The acquisition adds several new patents to the Company&#x2019;s library of biometric and digital identity intellectual property. The addition of contactless biometrics technology will enable the Company to better serve the needs of organizations in existing and new markets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;The acquisition of DFT has been accounted for under US GAAP using the acquisition method of accounting. The total purchase consideration of $6.7 million has been allocated among the assets acquired at their acquisition date. We have calculated the fair values of the DFT acquired assets based on our preliminary valuation analysis, using the information available to us. The Company may continue to adjust the preliminary purchase price allocation (including the identified intangible assets) as additional information becomes available during the remainder of the measurement period, which will not exceed 12 months from the closing of the acquisition. Measurement period adjustments will be recognized in the reporting period in which the adjustment amounts are determined. Any such adjustments may be material.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;The Company recognized $5.0 million of intangible assets and $1.7 million of goodwill, which is housed in the Telos ID reporting unit. Goodwill is primarily attributable to expected synergies between the acquired intangible assets and the Company's digital identify technology and solutions and acquired workforce. The acquired intangible assets will be amortized on a straight-line basis over 3 - 8 years. The acquisition was considered an asset purchase for tax purposes and the recognized goodwill is deductible for tax purposes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:107%"&gt;The results of DFT operations have been included in our condensed consolidated statements of operations from the acquisition date, and are not material for the three and nine months ended September 30, 2021. Acquisition-related costs were immaterial and have been expensed as incurred. The pro-forma financial information have not been presented for this acquisition as the impact to our condensed consolidated financial statements is not material.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i3b771a17eb8d481a86b18a2bd5429a41_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODQ0_a08e105d-ab66-4fbe-87ae-66f7b5b7952d"
      unitRef="usd">6700000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsAdditionalDisclosuresAcquisitionCosts
      contextRef="iae0f5ef942864d62a9c17414d6e30424_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODUx_a5a78db4-f676-41ea-8785-b73708a66ac3"
      unitRef="usd">300000</us-gaap:BusinessCombinationSeparatelyRecognizedTransactionsAdditionalDisclosuresAcquisitionCosts>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i3b771a17eb8d481a86b18a2bd5429a41_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODU3_0499fbc1-c185-4166-b148-994b2eca7676"
      unitRef="usd">5900000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="i3b771a17eb8d481a86b18a2bd5429a41_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODY0_48e60952-9689-42ed-a693-3a97ca5c23c2"
      unitRef="usd">600000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <tls:BusinessCombinationConsiderationTransferredLiabilitiesIncurredCashHoldback
      contextRef="i3b771a17eb8d481a86b18a2bd5429a41_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODcw_1052d46b-fb82-41f2-9750-14a71761188b">P18M</tls:BusinessCombinationConsiderationTransferredLiabilitiesIncurredCashHoldback>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="iae0f5ef942864d62a9c17414d6e30424_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODc4_e265dffe-3cee-4c10-9952-d461e5ca43b6"
      unitRef="usd">500000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="i3b771a17eb8d481a86b18a2bd5429a41_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODg1_a08e105d-ab66-4fbe-87ae-66f7b5b7952d"
      unitRef="usd">6700000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="iae0f5ef942864d62a9c17414d6e30424_I20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODkx_4a0725c4-88d2-4995-815c-bad4501aadf8"
      unitRef="usd">5000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i3b771a17eb8d481a86b18a2bd5429a41_D20210730-20210730"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2ODk3_c49bd45f-9192-466d-9cc6-99815ded6b8e"
      unitRef="usd">1700000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i752a9add4dd54484a71bc86ce79e33ba_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2OTEx_3b78f314-c84a-4dfa-934b-0b3d5f7f0c8b">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i0a12b4d5af6749ae9c6458af27caded3_D20210730-20210730"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDg3L2ZyYWc6NDk3YTkxN2UwZWZkNDkzMmJjMTdjODM1M2ZhM2MwN2IvdGV4dHJlZ2lvbjo0OTdhOTE3ZTBlZmQ0OTMyYmMxN2M4MzUzZmEzYzA3Yl8xMDk5NTExNjY2OTE2_8bb7c4a8-da44-4c3f-8a4b-9d302de0dec8">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:GoodwillDisclosureTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80My9mcmFnOmJlZjYyMGU4NTlmYTRkODQ5YzJlNTIxZmFiMTg2ZGE3L3RleHRyZWdpb246YmVmNjIwZTg1OWZhNGQ4NDljMmU1MjFmYWIxODZkYTdfMjcz_4f0d87cd-a0c9-4af9-90be-fea68acffa9f">GoodwillThe goodwill balance was $16.6 million and $14.9 million as of September&#160;30, 2021 and December&#160;31, 2020, respectively. Goodwill is subject to annual impairment tests and if triggering events are present in the interim before the annual tests, we will assess impairment. For the three and nine months ended September&#160;30, 2021 and 2020, no impairment charges were taken.</us-gaap:GoodwillDisclosureTextBlock>
    <us-gaap:Goodwill
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80My9mcmFnOmJlZjYyMGU4NTlmYTRkODQ5YzJlNTIxZmFiMTg2ZGE3L3RleHRyZWdpb246YmVmNjIwZTg1OWZhNGQ4NDljMmU1MjFmYWIxODZkYTdfNDg_a750b721-aba3-4bd1-9e2d-e3fd366008e1"
      unitRef="usd">16600000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80My9mcmFnOmJlZjYyMGU4NTlmYTRkODQ5YzJlNTIxZmFiMTg2ZGE3L3RleHRyZWdpb246YmVmNjIwZTg1OWZhNGQ4NDljMmU1MjFmYWIxODZkYTdfMTA5OTUxMTYzMDc2Nw_d08aa29b-11ae-47ef-b10c-ede5a7419a6c"
      unitRef="usd">14900000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80My9mcmFnOmJlZjYyMGU4NTlmYTRkODQ5YzJlNTIxZmFiMTg2ZGE3L3RleHRyZWdpb246YmVmNjIwZTg1OWZhNGQ4NDljMmU1MjFmYWIxODZkYTdfMjQx_244919e9-6f51-495a-898b-5860ba8c66da"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80My9mcmFnOmJlZjYyMGU4NTlmYTRkODQ5YzJlNTIxZmFiMTg2ZGE3L3RleHRyZWdpb246YmVmNjIwZTg1OWZhNGQ4NDljMmU1MjFmYWIxODZkYTdfMjQx_4e5aa5e8-da73-4d3c-982a-551a8fb8d15a"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80My9mcmFnOmJlZjYyMGU4NTlmYTRkODQ5YzJlNTIxZmFiMTg2ZGE3L3RleHRyZWdpb246YmVmNjIwZTg1OWZhNGQ4NDljMmU1MjFmYWIxODZkYTdfMjQx_5bbe81f5-9082-4d4e-b267-31535ecc38a4"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80My9mcmFnOmJlZjYyMGU4NTlmYTRkODQ5YzJlNTIxZmFiMTg2ZGE3L3RleHRyZWdpb246YmVmNjIwZTg1OWZhNGQ4NDljMmU1MjFmYWIxODZkYTdfMjQx_9ce2c6dc-8bdb-4a3d-bba0-baee8cbe5fb3"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGV4dHJlZ2lvbjo2MGM4NjMzNDc1ODM0OTY5YTZiMDE0ODA4ODFlMjg4NF8zODQ4MjkwNzAwNzYx_0e5501e4-c6f1-4624-85fb-9c7693c1face">Intangible Assets&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets, all of which are finite-lived, consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.538%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.362%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.701%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Estimated Useful Life&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;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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;Net Carrying 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;Acquired technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align: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 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,910&#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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,798&#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;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align: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 years&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;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Software development costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align: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 years&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;18,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,126)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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;23,342&#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;(6,240)&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;17,102&#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:10pt;text-indent:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.538%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.362%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.701%"/&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;div style="margin-top:10pt;text-align:center;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2020&lt;/span&gt;&lt;/div&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;Estimated Useful Life&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;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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;Net Carrying 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;Acquired technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;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;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt;text-indent:18pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align: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 years&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;12,253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,833)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,253&#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;(4,833)&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;7,420&#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:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization expense was $0.5 million and $1.4&#160;million for the three and nine months ended September&#160;30, 2021, respectively; and $0.4 million and $1.3 million for the three and nine months ended September 30, 2020, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGV4dHJlZ2lvbjo2MGM4NjMzNDc1ODM0OTY5YTZiMDE0ODA4ODFlMjg4NF8zODQ4MjkwNzAwNzYy_075ba395-3f46-4350-b1c8-93891395c479">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets, all of which are finite-lived, consists of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.538%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.362%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.701%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Estimated Useful Life&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;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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;Net Carrying 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;Acquired technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align: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 years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,910&#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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(112)&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;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,798&#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;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align: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 years&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;40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Software development costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align: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 years&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;18,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,126)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #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;23,342&#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;(6,240)&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;17,102&#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:10pt;text-indent:18pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.538%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.262%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.362%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.698%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.701%"/&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;div style="margin-top:10pt;text-align:center;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2020&lt;/span&gt;&lt;/div&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;Estimated Useful Life&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;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&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;Net Carrying 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;Acquired technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;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;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt;text-indent:18pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software development costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;text-indent:18pt;vertical-align: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 years&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;12,253&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,833)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,253&#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;(4,833)&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;7,420&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i96e57e485dbc418cbc4dc5575ff2a807_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M18xLTEtMS0xLTE4MzQ1_fa625183-442a-454a-bd71-2e31a15e9b19">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i832eb7d872fc43e0830564ccad1fbfde_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M18xLTMtMS0xLTE0MzQz_36a29792-d3f0-48c6-a09b-88ba1e702b5b"
      unitRef="usd">4910000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i832eb7d872fc43e0830564ccad1fbfde_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M18xLTUtMS0xLTE4MjQ3_d9683dcd-bd0e-463b-8ddb-24b444eeb1e1"
      unitRef="usd">112000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i832eb7d872fc43e0830564ccad1fbfde_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M18xLTctMS0xLTE0MzU3_65435cc8-3169-4f45-b6f2-be950b3db377"
      unitRef="usd">4798000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6d781f4cb2ea46f38d789f91bb03cf6a_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M18yLTEtMS0xLTE4MzQ1_0ebd2345-4ae6-48f0-9ff1-e9f9becec784">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i17ccfd1a3b3d49219429623e6691a901_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M18zLTMtMS0xLTE0MzQz_c77f9760-9348-4fd8-ac09-9369006e51a5"
      unitRef="usd">40000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i17ccfd1a3b3d49219429623e6691a901_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M18yLTUtMS0xLTE4MjQ3_f420c253-69ee-4318-aec6-b71c76d6ce13"
      unitRef="usd">2000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i17ccfd1a3b3d49219429623e6691a901_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M18zLTctMS0xLTE0MzU3_086ebdc6-564c-4a31-adbe-6ec3e87b13d3"
      unitRef="usd">38000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ied153dcead774fd5a0d8207b43aadeec_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M180LTEtMS0xLTY0MzY_cad586c1-7d06-41c0-b34f-cb2908e7aca2">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ibba34c4e9b7b4a3fb7f3d48183ad59f9_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M180LTMtMS0xLTE0MzQz_1aaefe17-606d-4137-adca-c28cf89f8c07"
      unitRef="usd">18392000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ibba34c4e9b7b4a3fb7f3d48183ad59f9_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M180LTUtMS0xLTE0MzUw_942823b9-2b75-4aff-ba18-c4e75fe6b720"
      unitRef="usd">6126000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ibba34c4e9b7b4a3fb7f3d48183ad59f9_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M180LTctMS0xLTE0MzU3_6ba25dc0-a3fc-4c2f-9ebd-7f7267b5f22b"
      unitRef="usd">12266000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M181LTMtMS0xLTE1MzYz_dc9feebc-d315-4009-893a-068f87d1bd67"
      unitRef="usd">23342000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M181LTUtMS0xLTE1MzY1_df7d73e7-8671-477f-bc51-8403fa13f96d"
      unitRef="usd">6240000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6ZWEzZGJjMzc2OWE3NDhhZDg2YmQ5M2UxNWZmOTFiNzMvdGFibGVyYW5nZTplYTNkYmMzNzY5YTc0OGFkODZiZDkzZTE1ZmY5MWI3M181LTctMS0xLTE1MzU3_77c09a5d-0f87-4c22-b3ce-6b62ec570edf"
      unitRef="usd">17102000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6050dad46eea4fe088890f84a3d5e19a_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF8xLTEtMS0xLTE5ODEw_84e3c3a1-888e-4b66-9cfe-504fc5a8aae9"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib405338c903340b3add1c8c58baae1d8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF8xLTMtMS0xLTE1OTY0_56fe2ea3-d1be-4c69-a75c-7b8893add574"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib405338c903340b3add1c8c58baae1d8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF8xLTUtMS0xLTE1OTY0_272f839f-eaf3-49f4-8be2-dd50815cf691"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib405338c903340b3add1c8c58baae1d8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF8xLTctMS0xLTE1OTY0_da12874d-f6b3-4dc0-9e70-439cd4dbf929"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ic035e4a67f654d68ac73c6cc2482ae97_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF8yLTEtMS0xLTE5ODEw_42cb0817-ba42-461b-ab63-3fcff56bea01"
      xsi:nil="true"/>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i78b7cd362a784995ba0622a718360e50_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF8zLTMtMS0xLTE1OTY0_4cb5c02c-aabe-4433-8d00-70be15081f2a"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i78b7cd362a784995ba0622a718360e50_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF8zLTUtMS0xLTE1OTY0_314573d8-9e58-477f-b308-a226fd738068"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i78b7cd362a784995ba0622a718360e50_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF8zLTctMS0xLTE1OTY0_2228a9fe-ee99-429c-bf77-18706afe0284"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i97b3cb759c90416da341e62f08df2f18_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF80LTEtMS0xLTE1OTQ1_be69e848-6db3-4b8a-bc22-2a9bf752e1cd">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8a6e06d312844fba93b326b084b1a285_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF80LTMtMS0xLTE1OTQ1_2df0dcf7-15c3-449f-8e2f-3805e42791ab"
      unitRef="usd">12253000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8a6e06d312844fba93b326b084b1a285_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF80LTUtMS0xLTE1OTQ1_4192c6e7-c1fe-472a-b181-c0d8d2d17c24"
      unitRef="usd">4833000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8a6e06d312844fba93b326b084b1a285_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF80LTctMS0xLTE1OTQ1_86bdd5f8-ae88-4159-87d1-1b97b8215703"
      unitRef="usd">7420000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF81LTMtMS0xLTE3Nzc4_b6e28e7b-bf72-4201-9d42-ba50d31fa358"
      unitRef="usd">12253000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF81LTUtMS0xLTE3Nzc4_bf21c957-9916-4624-ba35-895b087dd422"
      unitRef="usd">4833000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGFibGU6YzA1NzRjZTE0M2FiNDc5MzhiNDViNGMzNzMyNDY5MmQvdGFibGVyYW5nZTpjMDU3NGNlMTQzYWI0NzkzOGI0NWI0YzM3MzI0NjkyZF81LTctMS0xLTE3Nzc4_4b888a32-41b6-48f1-8b8b-db5fc25c7366"
      unitRef="usd">7420000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGV4dHJlZ2lvbjo2MGM4NjMzNDc1ODM0OTY5YTZiMDE0ODA4ODFlMjg4NF8xNjQ5MjY3NDQ0MDQy_d8f81f2d-15fc-45dd-9a1b-388d6e295c32"
      unitRef="usd">500000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGV4dHJlZ2lvbjo2MGM4NjMzNDc1ODM0OTY5YTZiMDE0ODA4ODFlMjg4NF8xNjQ5MjY3NDQ0MDUw_d615893f-2792-4fda-8440-31aec17c61fa"
      unitRef="usd">1400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGV4dHJlZ2lvbjo2MGM4NjMzNDc1ODM0OTY5YTZiMDE0ODA4ODFlMjg4NF8xNjQ5MjY3NDQ1MTg2_bf34cd45-dfb4-489c-a158-e1dca88b62fd"
      unitRef="usd">400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF8xMDk2L2ZyYWc6NjBjODYzMzQ3NTgzNDk2OWE2YjAxNDgwODgxZTI4ODQvdGV4dHJlZ2lvbjo2MGM4NjMzNDc1ODM0OTY5YTZiMDE0ODA4ODFlMjg4NF8xNjQ5MjY3NDQ1MjA0_f8df9f54-cbf0-42b7-88a6-d216c8755d4e"
      unitRef="usd">1300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80Ni9mcmFnOmZiMzU4OWVmYjAxNzQ0MTM5NTMwMDgyMDkxMTJjMGQ1L3RleHRyZWdpb246ZmIzNTg5ZWZiMDE3NDQxMzk1MzAwODIwOTExMmMwZDVfMTMyOQ_cd420423-0caa-4ce0-bd2e-da7210a9f668">Fair Value Measurements&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accounting standard for fair value measurements provides a framework for measuring fair value and expands disclosures about fair value measurements.&#160; The framework requires the valuation of financial instruments using a three-tiered approach.&#160; The statement requires fair value measurement to be classified and disclosed in one of the following categories:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 1:&#160; Unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets and liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 2:&#160; Quoted prices in markets that are not active, or inputs which are observable, either directly or indirectly, for substantially the full term of the asset or liability; or&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Level 3:&#160; Prices or valuation techniques that require inputs that are both significant to the fair value measurement and unobservable (i.e. supported by little or no market activity).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of September&#160;30, 2021 and December&#160;31, 2020, we did not have any financial instruments with significant Level 3 inputs and we did not have any financial instruments that are measured at fair value on a recurring basis.&lt;/span&gt;&lt;/div&gt;For certain of our non-derivative financial instruments, including receivables, accounts payable and other accrued liabilities, the carrying amount approximates fair value due to the short-term maturities of these instruments.</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfOTUwNQ_dda64cee-2a7e-496c-b00b-3711841cfa42">Debt Obligations&lt;div style="margin-top:10pt"&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;Enlightenment Capital Credit Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January&#160;25, 2017, we entered into a Credit Agreement (the "Credit Agreement") with Enlightenment Capital Solutions Fund II, L.P., as agent (the "Agent") and the lenders party thereto (the "Lenders"), (together referenced as &#x201c;EnCap&#x201d;). The Credit Agreement provides for an $11 million senior term loan (the "Loan") with a maturity date of January 25, 2022, subject to acceleration in the event of customary events of default. All borrowings under the Credit Agreement accrued interest at the rate of 13.0% per annum. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the Credit Agreement, on January&#160;25, 2017, the Company issued warrants (each, a "Warrant") to the Agent and certain of the Lenders representing in the aggregate the right to purchase in accordance with their terms 900,970 shares of the Class A Common Stock of the Company, no par value per share, which was equivalent to approximately 2.5% of the common equity interests of the Company on a fully diluted basis on the date of grant. The exercise price was $1.665 per share. The value of the warrants was determined to be de minimis and no value was allocated to them on a relative fair value basis in accounting for the debt instrument.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Credit Agreement also included an $825,000 exit fee, which was payable upon any repayment or prepayment of the loan. This amount had been included in the total principal due and treated as an unamortized discount on the debt, which would be amortized over the term of the loan, using the effective interest method at a rate of 15.0% at the time of the original loan. We incurred fees and transaction costs of approximately $374,000 related to the issuance of the Credit Agreement, which were amortized over the life of the Credit Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;30, 2018, the Credit Agreement was amended (the &#x201c;Third Amendment&#x201d;) to add a minimum revenue covenant and a net working capital covenant were added. In consideration of these amendments, the interest rate on the loan was increased by 1% which will revert back to the original rate upon achievement of two consecutive quarters of a specified fixed charge coverage ratio as defined in the agreement. The increase in interest expense has been paid in cash.&#160; Contemporaneously with the Third Amendment, Mr. John B. Wood agreed to transfer 50,000 shares of the Company&#x2019;s Class A Common Stock owned by him to EnCap.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On July&#160;19, 2019, we entered into the Fourth Amendment to Credit Agreement and Waiver; First Amendment to Fee Letter (&#x201c;Fourth Amendment&#x201d;) to amend the Credit Agreement. As a result of the Fourth Amendment, several terms of the Credit Agreement were amended, including (but not limited to) the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The Company borrowed an additional $5 million from the Lenders, increasing the total amount of the principal to $16 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The maturity date of the Credit Agreement was amended from January&#160;25, 2022 to January&#160;15, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The prepayment price was amended as follows: (a) from January&#160;26, 2019 through January&#160;25, 2020, the prepayment price is 102% of the principal amount, (b) from January&#160;26, 2020 through October&#160;14, 2020, the prepayment price is 101% of the principal amount, and (c) from October&#160;15, 2020 to the maturity date, the prepayment price will be at par. However, the prepayment price for the additional $5 million loan attributable to the Fourth Amendment will be at par.&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;The exit fee was increased from $825,000 to $1,200,000.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The exit fee had been included in the total principal due and treated as an unamortized discount on the debt, which was amortized over the term of the loan using the effective interest method at a rate of 17.3% over the remaining term of the loan.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;26, 2020, the Credit Agreement was amended (the &#x201c;Fifth Amendment&#x201d;) to modify the financial covenants and to update the previously agreed-upon definition of certain financial covenants, specifically the amount of Capital Expenditures to be included in the measurement of the covenants.&#160;The Fifth Amendment provides for four quarterly maturity date extensions, which would increase the Exit Fee payable under the Credit Agreement by $250,000 for each quarterly maturity date extension elected, for a total of $1 million increase to the Exit Fee were all four of the maturity date extensions to be elected.&#160; The Company paid EnCap an amendment fee of $100,000 and out-of-pocket costs and expenses in consideration for the Fifth Amendment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We incurred interest expense in the amount of $0.8 million and $2.3 million for the three and nine months ended September&#160;30, 2020, respectively, under the Credit Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;24, 2020, upon the closing of the IPO, the Company paid a total of $17.4 million to satisfy its obligations under the Credit Agreement in full including an exit fee of $1.2 million, accrued interest of $138,000, and legal fees of $13,000. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;19, 2021, the Company entered into multiple Redemption Agreements and Warrant Redemption and Cancellation Agreements (collectively the "Repurchase Agreement") with EnCap and certain related funds that held the warrants to purchase 900,970 shares of the Company's common stock in addition to 39,682 shares of the Company's common stock. Under the Repurchase Agreement, the Company agreed to repurchase the outstanding warrants for $26.9&#160;million and common stock for $1.3 million. The average price of the warrants and common stock repurchased were $29.85 per share and $31.51 per share, respectively. Upon settlement, the repurchased warrants were retired.  The Company reduced common stock for the $0.001 par value of the shares repurchased, with the excess purchase price over par value recorded as a reduction of additional paid-in-capital ("APIC"). As a result of the repurchases, the Company recognized these amounts as a reduction to APIC.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Subordinated Debt&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;31, 2015, the Company entered into Subordinated Loan Agreements and Subordinated Promissory Notes (&#x201c;Porter Notes&#x201d;) with affiliated entities of Mr. John R. C. Porter (together referenced as &#x201c;Porter&#x201d;). At the time, Mr. Porter and Toxford Corporation, of which Mr. Porter controls as the co-trustee of the trust that is the sole stockholder of Toxford, owned 35.0% of our Class A Common Stock. Under the terms of the Porter Notes, Porter lent the Company $2.5 million on or about March&#160;31, 2015. Telos also entered into Subordination and Intercreditor Agreements with Porter and a prior senior lender, in which the Porter Notes were fully subordinated to the financing provided by that senior lender, and payments under the Porter Notes were permitted only if certain conditions were met. According to the original terms of the Porter Notes, the outstanding principal sum bore interest at the fixed rate of twelve percent (12%) per annum which would be payable in arrears in cash on the 20th day of each May, August, November and February, with the first interest payment date due on August&#160;20, 2015. The Porter Notes did not call for amortization payments and were unsecured. The Porter Notes, in whole or in part, may be repaid at any time without premium or penalty. The unpaid principal, together with interest, was originally due and payable in full on July&#160;1, 2017.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;18, 2017, we amended and restated the Porter Notes to reduce the interest rate from twelve percent (12%) to six percent (6%) per annum, to be accrued, and extended the maturity date from July&#160;1, 2017 to July&#160;25, 2022. Telos also entered into Intercreditor Agreements with Porter and EnCap, in which the Porter Notes were fully subordinated to the Credit Agreement and any subsequent senior lenders, and payments under the Porter Notes were permitted only if certain conditions were met. All other terms remained in full force and effect. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We incurred interest expense in the amount of $90,000 and $265,000 for the three and nine months ended September&#160;30, 2020, respectively, on the Porter Notes. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 23, 2020, upon the closing of the IPO, the Porter Notes were paid in full.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCredit
      contextRef="ib03b2751fd7241518ffd14623251bf3f_I20170125"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMTMxNA_971cc7fb-6e1e-4ccb-b9fa-820466eca221"
      unitRef="usd">11000000</us-gaap:LineOfCredit>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="ib03b2751fd7241518ffd14623251bf3f_I20170125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMTUzMQ_50819d79-d520-45cf-abcf-2780799ca85f"
      unitRef="number">0.130</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ie5ec598e56f448ebad124a0fac10bcbc_I20170125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMTc4Ng_d834011e-ab7c-4f3d-ac59-0b12a77409c6"
      unitRef="shares">900970</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <tls:PercentageOfWarrantsIssuedOfCommonEquityInterests
      contextRef="ia1842445179942aabf9efb2c74379906_D20170125-20170125"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMTkwMQ_774f6b16-53a2-472d-a020-2a8feeb31f7f"
      unitRef="number">0.025</tls:PercentageOfWarrantsIssuedOfCommonEquityInterests>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ie5ec598e56f448ebad124a0fac10bcbc_I20170125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMjAyMA_2e5826e1-19fe-4095-b347-a2a1212f2f4f"
      unitRef="usdPerShare">1.665</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="i4717052ab70e4591b57caa65612863c7_I20170125"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMjIzNQ_9e0965cd-4248-4004-9d04-3e15d21744ee"
      unitRef="usd">825000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i4717052ab70e4591b57caa65612863c7_I20170125"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMjUyMg_af417998-37e2-444f-a4f3-6e311ef6d8e6"
      unitRef="number">0.150</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <tls:DebtInstrumentTransactionCosts
      contextRef="i77e33f2206404afeb07cfc79b5fe1b27_D20170125-20170125"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMjYxNQ_6492f4e3-cc7b-4448-928d-847096a824ab"
      unitRef="usd">374000</tls:DebtInstrumentTransactionCosts>
    <us-gaap:DebtInstrumentInterestRateIncreaseDecrease
      contextRef="i7ffe224c2a1040b9b1efd979df6fbcbf_D20180330-20180330"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMjk1Nw_33fbe833-f31f-45cf-a72b-58b4d7042c14"
      unitRef="number">0.01</us-gaap:DebtInstrumentInterestRateIncreaseDecrease>
    <tls:NumberOfConsecutiveQuarters
      contextRef="i7ffe224c2a1040b9b1efd979df6fbcbf_D20180330-20180330"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMzAyNA_4de83c6b-1931-4b8a-8b86-09d5db6bb33f"
      unitRef="q">2</tls:NumberOfConsecutiveQuarters>
    <tls:NumberOfSharesHeldByChiefExecutiveOfficer
      contextRef="ib92f2232e569406ca7d737fe8cac3e10_I20180330"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMzI1Nw_450acbc8-4249-4a54-a392-43f75fdd134c"
      unitRef="shares">50000</tls:NumberOfSharesHeldByChiefExecutiveOfficer>
    <us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet
      contextRef="ie38d02a2d556440dabd7c414209518df_D20190719-20190719"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMzYzNg_9d38e5a0-181c-4a05-ba86-ae42ed6de5cc"
      unitRef="usd">5000000</us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet>
    <us-gaap:LineOfCredit
      contextRef="i5258443373324eb3a7522e8e42dbdc42_I20190719"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMzcwNQ_dc31e736-11dd-4b83-a39d-9adbec2e726d"
      unitRef="usd">16000000</us-gaap:LineOfCredit>
    <tls:PrepaymentPricePercentageOne
      contextRef="ie38d02a2d556440dabd7c414209518df_D20190719-20190719"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMzg5OQ_7ca264d0-826a-428c-81c4-7f0abdf006fa"
      unitRef="number">1.02</tls:PrepaymentPricePercentageOne>
    <tls:PrepaymentPricePercentageTwo
      contextRef="ie38d02a2d556440dabd7c414209518df_D20190719-20190719"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNDAwMw_e4f60b8c-882a-4a57-bb32-49484e1bb783"
      unitRef="number">1.01</tls:PrepaymentPricePercentageTwo>
    <us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet
      contextRef="ie38d02a2d556440dabd7c414209518df_D20190719-20190719"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNDE1NQ_d8d97ce4-5ca6-452a-840c-817f634b679b"
      unitRef="usd">5000000</us-gaap:LineOfCreditFacilityIncreaseDecreaseForPeriodNet>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="ic1ec45d3a7fa47859d4882b434b797e0_I20190718"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNDgxNQ_f6081e95-4674-4101-8a3f-755d8f73ca9e"
      unitRef="usd">825000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="i5258443373324eb3a7522e8e42dbdc42_I20190719"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNDgyMQ_5a3c1d18-f3e2-48c0-9ccc-0c73453c92f8"
      unitRef="usd">1200000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i5258443373324eb3a7522e8e42dbdc42_I20190719"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNTAzMA_e2e47e6d-503b-4c8b-b997-dd9635c43396"
      unitRef="number">0.173</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <tls:NumberOfQuarterlyMaturityDateExtensions
      contextRef="ib1bf56a33f9946e29dcf5b8f85dedb19_D20200326-20200326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMTA5OTUxMTYzOTY1MA_94676a02-ad61-4a3a-8ef0-f5380b4e999b"
      unitRef="maturity_date_extension">4</tls:NumberOfQuarterlyMaturityDateExtensions>
    <tls:AmountOfIncreaseDecreaseInQuarterlyExitFeePayable
      contextRef="ib1bf56a33f9946e29dcf5b8f85dedb19_D20200326-20200326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNTc5NQ_ef09bb15-9925-4ce7-aaee-bd90ac8ab85e"
      unitRef="usd">250000</tls:AmountOfIncreaseDecreaseInQuarterlyExitFeePayable>
    <tls:AmountOfIncreaseDecreaseInExitFeePayable
      contextRef="ib1bf56a33f9946e29dcf5b8f85dedb19_D20200326-20200326"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNTg2NQ_3cbb8aa6-e029-4aec-a229-4d8c77f37cb1"
      unitRef="usd">1000000</tls:AmountOfIncreaseDecreaseInExitFeePayable>
    <tls:NumberOfQuarterlyMaturityDateExtensions
      contextRef="ib1bf56a33f9946e29dcf5b8f85dedb19_D20200326-20200326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMzg0ODI5MDcxMTEzMw_236cf2a7-cd48-4ab6-8eb0-12cf89a6a834"
      unitRef="maturity_date_extension">4</tls:NumberOfQuarterlyMaturityDateExtensions>
    <tls:AmendmentFeeAndOutOfPocketCostsAndExpenses
      contextRef="ib1bf56a33f9946e29dcf5b8f85dedb19_D20200326-20200326"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNTk5OA_98c2224b-5260-483c-9b46-2836e80261a3"
      unitRef="usd">100000</tls:AmendmentFeeAndOutOfPocketCostsAndExpenses>
    <us-gaap:InterestExpenseDebt
      contextRef="icf0bba6377df4268a0ecc925209a549b_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjEyNg_81e68ffd-cee3-45f3-9906-180c87a72948"
      unitRef="usd">800000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i18aa723c24cd4da8901af0ab2ed30f36_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjEzMw_2020cb9a-88f9-484a-951e-10d33e7d63ce"
      unitRef="usd">2300000</us-gaap:InterestExpenseDebt>
    <us-gaap:RepaymentsOfSeniorDebt
      contextRef="i9b9827764f1c40d1935dccb355f01609_D20201124-20201124"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjI4MQ_8175f81b-d58d-4709-b627-abae6b2a0591"
      unitRef="usd">17400000</us-gaap:RepaymentsOfSeniorDebt>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="i13733e43410f441eb6524e22588943c2_I20201124"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjM3MQ_47e291dc-4056-4450-bc4f-30cfab01e614"
      unitRef="usd">1200000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:InterestPayableCurrent
      contextRef="i13733e43410f441eb6524e22588943c2_I20201124"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjM5NQ_2e7ffbe2-2b74-41fd-a75e-edb0e2ba42bf"
      unitRef="usd">138000</us-gaap:InterestPayableCurrent>
    <us-gaap:LegalFees
      contextRef="i9b9827764f1c40d1935dccb355f01609_D20201124-20201124"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjQxNw_cb704540-cb64-4505-9304-22c7de79bec3"
      unitRef="usd">13000</us-gaap:LegalFees>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="ie5ec598e56f448ebad124a0fac10bcbc_I20170125"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMTA5OTUxMTYzOTY1NA_d834011e-ab7c-4f3d-ac59-0b12a77409c6"
      unitRef="shares">900970</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjcwNQ_703a500d-0ffe-42b3-b3a6-4422ab9d2134"
      unitRef="shares">39682</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:PaymentsForRepurchaseOfWarrants
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjg0MA_e4de241d-fecd-467c-8f8b-99d6f75372c1"
      unitRef="usd">26900000</us-gaap:PaymentsForRepurchaseOfWarrants>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjg2NA_0f4af9a6-9d9f-4bfd-a583-1bf75ab3c8b4"
      unitRef="usd">1300000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <tls:WarrantsAcquiredAverageCostPerShare
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjkzNg_033ad779-869a-4fdd-a224-2413d101e8ac"
      unitRef="usdPerShare">29.85</tls:WarrantsAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="i2d42c156a9e542f3b20ec87fe2f0dbc0_D20210419-20210419"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNjk1Mw_f6c8350f-d60e-4a10-b1cd-b14ce9447049"
      unitRef="usdPerShare">31.51</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i342a662dd6d9416da60603ef38e93819_I20210419"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfMTA5OTUxMTYzOTY1OA_7698d757-baaf-4e04-a2e6-e9d95ea23deb"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="i26171b8177d04cdd92d332567629909c_I20150331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNzY5NA_91ccafe8-f63c-4c92-b5e2-8b827555d436"
      unitRef="number">0.350</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:ProceedsFromRelatedPartyDebt
      contextRef="ia27cf2ed20f749cdb1a1c2a4b5d1fe96_D20150331-20150331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfNzc4Nw_01d79b6b-eafa-4011-b7af-5eb7838282fb"
      unitRef="usd">2500000</us-gaap:ProceedsFromRelatedPartyDebt>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ia27cf2ed20f749cdb1a1c2a4b5d1fe96_D20150331-20150331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfODIzMw_5d78874c-2b9e-4ec3-b12b-c066375d114c"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="i6b3129f5cd164a92a13d91634d1f375e_D20170417-20170417"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfODc1NQ_711087ec-8035-40df-b18c-afff236a1017"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="i59aff71aee8649fca50a60211c92d152_D20170418-20170418"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfODc3NQ_ae1f0448-0a17-4a5b-a493-88be940d9bc5"
      unitRef="number">0.06</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:InterestExpenseRelatedParty
      contextRef="i6830a6b6eae14452b665bf55382e61ed_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfOTIxOA_11499e10-4e35-4108-aa07-e2c81a14b8fa"
      unitRef="usd">90000</us-gaap:InterestExpenseRelatedParty>
    <us-gaap:InterestExpenseRelatedParty
      contextRef="i769b2784cf3548d1822647c51ea60ac2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF80OS9mcmFnOjRlNGM4MjNkMGYwYzQwYTZiOTNiZTNhZjhjYTcxOWU3L3RleHRyZWdpb246NGU0YzgyM2QwZjBjNDBhNmI5M2JlM2FmOGNhNzE5ZTdfOTIyNQ_33fbf16a-b1ec-4c83-8fa3-c4ee8cd95a36"
      unitRef="usd">265000</us-gaap:InterestExpenseRelatedParty>
    <tls:RedeemablePreferredStockTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMzQ1NA_1ffa9076-5862-4934-b91b-65223358ea48">Exchangeable Redeemable Preferred Stock Conversion&lt;div style="margin-top:10pt"&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;Public Preferred Stock&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt; &#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A maximum of 6,000,000 shares of Exchangeable Redeemable Preferred Stock (the "Public Preferred Stock"), par value $.01 per share, has been authorized for issuance. We initially issued 2,858,723 shares of the Public Preferred Stock pursuant to the acquisition of the Company during fiscal year 1990. The Public Preferred Stock was recorded at fair value on the date of original issue, November 21, 1989, and we made periodic accretions under the interest method of the excess of the redemption value over the recorded value. We adjusted our estimate of accrued accretion in the amount of $1.5 million in the second quarter of 2006. The Public Preferred Stock was fully accreted as of December 2008. We declared stock dividends totaling 736,863 shares in 1990 and 1991. Since 1991, no other dividends, in stock or cash, had been declared. In November 1998, we retired 410,000 shares of the Public Preferred Stock.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We paid dividends on the Public Preferred Stock when and if declared by the Board of Directors. The Public Preferred Stock accrued a semi-annual dividend at the annual rate of 12% ($1.20) per share, based on the liquidation preference of $10 per share, and was fully cumulative. Dividends in additional shares of the Public Preferred Stock for 1990 and 1991 were paid at the rate of 6% per share for each $.60 of such dividends not paid in cash. We accrued dividends on the Public Preferred Stock of $1.0 million and $2.9&#160;million for the three and nine months ended September 30, 2020, respectively, which was recorded as interest expense. Prior to the effective date of ASC 480 on July 1, 2003, such dividends were charged to stockholders&#x2019; accumulated deficit.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Upon the closing of the IPO, which constituted a qualified initial public offering for the purposes of the terms of the Public Preferred Stock, each issued and outstanding share of Public Preferred Stock automatically was converted (the &#x201c;ERPS Conversion&#x201d;) into the right to receive (i) an amount of cash equal to (I) the ERPS Liquidation Value; multiplied by (II) 0.90; multiplied by (III) 0.85 and (ii) that number of shares of common stock (valued at the initial offering price to the public) equal to (I) the ERPS Liquidation Value; multiplied by (II) 0.90; multiplied by (III) 0.15. No fractional shares of common stock, however, were issued upon the ERPS Conversion but, in lieu thereof, the holder was entitled to receive an amount of cash equal to the fair market value of a share of common stock (valued at the initial offering price to the public) at the time of the ERPS Conversion multiplied by such fractional amount (rounded to the nearest cent). &#x201c;ERPS Liquidation Value&#x201d; means, per each share of Public Preferred Stock, $10 together with all accrued and unpaid dividends (whether or not earned or declared) thereon calculated as of the actual date of the ERPS Conversion without interest, which, was approximately $142.3 million as of November&#160;19, 2020. All shares of common stock issued upon an ERPS Conversion were validly issued, fully paid and non-assessable. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November&#160;23, 2020, holders of the Public Preferred Stock received $108.9 million in cash and 1.1 million shares of our common stock at $17 per share for a total value of $19.2 million in connection with the ERPS Conversion. The difference in the redemption value of the ERPS and the carrying value has been accounted for as a gain on extinguishment of debt in accordance with ASC 470 and ASC 480. Approximately $0.2 million of costs directly attributable to this redemption were applied against the gain, resulting in a net gain of $14.0 million.&lt;/span&gt;&lt;/div&gt;</tls:RedeemablePreferredStockTextBlock>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i8c5ff59a3e2b44fc8777855a1079fee3_I19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTAy_e50f3a86-95d6-4df6-ad32-7fceb29d67a7"
      unitRef="shares">6000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i8c5ff59a3e2b44fc8777855a1079fee3_I19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTk3_cbb81ac6-9c03-4988-9e6b-68712fd5a3ab"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i8c5ff59a3e2b44fc8777855a1079fee3_I19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMjY1_7b19b24a-2d42-480e-a9d7-9fbce1d77d94"
      unitRef="shares">2858723</us-gaap:PreferredStockSharesIssued>
    <tls:PublicPreferredStockAccretionOfRedemptionDiscount
      contextRef="i5e545df671544168a53dc21d34646038_D20060401-20060630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfNjU5_ab943036-5562-4fee-b2bc-ab34414b9e72"
      unitRef="usd">1500000</tls:PublicPreferredStockAccretionOfRedemptionDiscount>
    <us-gaap:PreferredStockDividendsShares
      contextRef="i3e1c6e82b9e94119895a082a1198dae1_D19900101-19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfNzk1_1cfa15a2-3c78-4f25-91f7-de15353f6fe7"
      unitRef="shares">736863</us-gaap:PreferredStockDividendsShares>
    <us-gaap:PreferredStockDividendsShares
      contextRef="ia6b4b56dea1b4c43b6f340ca6d865e53_D19910101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfNzk1_c939bb36-8758-4700-a147-d9f5e3fb1a92"
      unitRef="shares">736863</us-gaap:PreferredStockDividendsShares>
    <tls:NumberOfRedeemablePreferredStockRedeemed
      contextRef="i8a4c6e1c12e349c1957b00476a362df6_D19981130-19981130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfOTA0_3b25bbd1-a79e-4dac-a67e-fd093918d1fc"
      unitRef="shares">410000</tls:NumberOfRedeemablePreferredStockRedeemed>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="i284315d2669d4492849c58395cf67efa_D19900101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTEyMQ_af1c39b4-dc96-4641-9d4b-89904279fe82"
      unitRef="number">0.12</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:PreferredStockDividendRatePerDollarAmount
      contextRef="i284315d2669d4492849c58395cf67efa_D19900101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTEyNQ_3f1c3119-95bf-4b05-92c5-5f2d3f031a84"
      unitRef="usdPerShare">1.20</us-gaap:PreferredStockDividendRatePerDollarAmount>
    <us-gaap:PreferredStockLiquidationPreference
      contextRef="ibc15652801934061b72a398f2fe729f5_I19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTE3OQ_3f96fda0-0b4c-4e69-adc4-21f96e7e43ed"
      unitRef="usdPerShare">10</us-gaap:PreferredStockLiquidationPreference>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="i3e1c6e82b9e94119895a082a1198dae1_D19900101-19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTMxOQ_3a366435-21ab-4605-a7bb-013fcfd430fa"
      unitRef="number">0.06</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:PreferredStockDividendRatePercentage
      contextRef="ia6b4b56dea1b4c43b6f340ca6d865e53_D19910101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTMxOQ_51266f8f-d14c-410f-ac48-57341ef8fb63"
      unitRef="number">0.06</us-gaap:PreferredStockDividendRatePercentage>
    <us-gaap:PreferredStockDividendRatePerDollarAmount
      contextRef="i3e1c6e82b9e94119895a082a1198dae1_D19900101-19901231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTM0MQ_04b26f69-2265-4b8d-a998-eb762a05b072"
      unitRef="usdPerShare">0.60</us-gaap:PreferredStockDividendRatePerDollarAmount>
    <us-gaap:PreferredStockDividendRatePerDollarAmount
      contextRef="ia6b4b56dea1b4c43b6f340ca6d865e53_D19910101-19911231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTM0MQ_f9e5fb68-6737-4ca8-99b3-372b51aa22a8"
      unitRef="usdPerShare">0.60</us-gaap:PreferredStockDividendRatePerDollarAmount>
    <us-gaap:DividendsPreferredStock
      contextRef="i1cf49d28e09c484ca76e8f58a10530e7_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTQzNA_b22cbab4-a444-41b3-b1d7-43b2a7b26dbf"
      unitRef="usd">1000000</us-gaap:DividendsPreferredStock>
    <us-gaap:DividendsPreferredStock
      contextRef="i36404b04b8d1490da5b9e93abdcbc35c_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTQ0MQ_5606f9b7-0e0a-4c43-badf-c05f76daf957"
      unitRef="usd">2900000</us-gaap:DividendsPreferredStock>
    <tls:ERPSConversionAmountIntoRightToReceiveCashInConditionOne
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTk5Ng_0d26a74e-f7d7-4d75-99af-d15dd6244602"
      unitRef="number">0.90</tls:ERPSConversionAmountIntoRightToReceiveCashInConditionOne>
    <tls:ERPSConversionAmountIntoRightToReceiveCashInConditionTwo
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMjAyMA_744eaa62-f98e-496e-b99a-c17fe240e0e3"
      unitRef="number">0.85</tls:ERPSConversionAmountIntoRightToReceiveCashInConditionTwo>
    <tls:ERPSConversionAmountIntoRightToReceiveSharesInConditionOne
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMjE4Mw_c2ad4a56-f171-41fb-be2b-261f2709b0ff"
      unitRef="number">0.90</tls:ERPSConversionAmountIntoRightToReceiveSharesInConditionOne>
    <tls:ERPSConversionAmountIntoRightToReceiveSharesInConditionTwo
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMjIwNw_bd2dc2c4-d988-4780-9351-ed4eb69e5de2"
      unitRef="number">0.15</tls:ERPSConversionAmountIntoRightToReceiveSharesInConditionTwo>
    <tls:StockIssuedDuringPeriodValueFractionalShares
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMjIxMQ_4717c161-6f45-4038-b6c3-287640ae8ab7"
      unitRef="shares">0</tls:StockIssuedDuringPeriodValueFractionalShares>
    <tls:PreferredStockConversionPrice
      contextRef="i3f1c71f0103a425ea234bbc8f477e57b_D20201119-20201119"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMjY1OA_28a2135e-c8f7-4159-bc58-cd70e3ef32a1"
      unitRef="usdPerShare">10</tls:PreferredStockConversionPrice>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i3f1c71f0103a425ea234bbc8f477e57b_D20201119-20201119"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMjg1MQ_9734928e-8150-4885-991d-c168f35a0708"
      unitRef="usd">142300000</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMzAyOQ_7c82d6bd-291a-4094-ad82-af50911fe287"
      unitRef="usd">108900000</us-gaap:PaymentsForRepurchaseOfConvertiblePreferredStock>
    <us-gaap:ConversionOfStockSharesIssued1
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMzA0NA_69eb756e-af68-4d42-a8de-226f758faf5e"
      unitRef="shares">1100000</us-gaap:ConversionOfStockSharesIssued1>
    <us-gaap:PreferredStockRedemptionPricePerShare
      contextRef="ifbc838afda644c5ca2dbb72d2688ab72_I20201123"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMzA3Nw_b1362758-8fae-45ea-9a64-385b917299b1"
      unitRef="usdPerShare">17</us-gaap:PreferredStockRedemptionPricePerShare>
    <us-gaap:ConversionOfStockAmountIssued1
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMzExMQ_8ebad39a-093c-43d4-bf49-7bf946dc2016"
      unitRef="usd">19200000</us-gaap:ConversionOfStockAmountIssued1>
    <tls:PreferredStockRedemptionCosts
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMTA5OTUxMTYzMTI0MA_4907ced5-e02e-4a27-b98d-e3b755ae57a4"
      unitRef="usd">200000</tls:PreferredStockRedemptionCosts>
    <us-gaap:GainsLossesOnExtinguishmentOfDebt
      contextRef="i002a2ef04b9d4cd6b425a4a5e4fc9d83_D20201123-20201123"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81Mi9mcmFnOmE3M2ZlZTQ4NTE0NDQ4Yzg4ZWM3MDU1MTkxZGU1NDZjL3RleHRyZWdpb246YTczZmVlNDg1MTQ0NDhjODhlYzcwNTUxOTFkZTU0NmNfMzQ1Mg_c5ddbdc9-d182-4b0b-bb27-32c43f6c09b6"
      unitRef="usd">14000000</us-gaap:GainsLossesOnExtinguishmentOfDebt>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMjIxMw_99ca0eca-7bcb-42f3-bd12-c0e21907ff9a">Income Taxes&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We establish a valuation allowance for deferred tax assets if, based on the weight of available evidence, it is more likely than not that some portion or all of the deferred tax assets will not be realized. Based on available evidence, realization of deferred tax assets is dependent upon the generation of future taxable income.&#160; We considered projected future taxable income, tax planning strategies, and reversal of taxable temporary differences in making this assessment. There has been no change in the established valuation allowance as of September&#160;30, 2021. As of September&#160;30, 2021 and December 31, 2020, we have recorded a net deferred tax liability of approximately $680,000 and $652,000, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We review and update our estimated annual effective tax rate each quarter. For the three months ended September&#160;30, 2021 and 2020, we recorded an income tax benefit of $41,000 and income tax provision of $8,000 respectively. For the nine months ended September&#160;30, 2021 and 2020, we recorded an income tax provision of $6,000 and income tax benefit of $136,000, respectively. For the three and nine months ended September 30, 2021 and 2020, our estimated effective rate was primarily impacted by the overall valuation allowance position which reduced the net tax impact from taxable income or loss for all periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the provisions of ASC 740, we determined that there were approximately $961,000 and $763,000 of gross unrecognized tax benefits as of September&#160;30, 2021 and December&#160;31, 2020, respectively. Included in the balance of unrecognized tax benefits as of September&#160;30, 2021 and December&#160;31, 2020 were $241,000 and $278,000, respectively, of tax benefits that, if recognized, would impact the effective tax rate. Also included in the balance of unrecognized tax benefits as of September&#160;30, 2021 and December&#160;31, 2020 were $720,000 and $485,000, respectively, of tax benefits that, if recognized, would not impact the effective tax rate due to the Company&#x2019;s valuation allowance.&#160;The Company had accrued interest and penalties related to the unrecognized tax benefits of $238,000 and $241,000, which were recorded in other liabilities as of September&#160;30, 2021 and December&#160;31, 2020, respectively. We believe that the total amounts of unrecognized tax benefits will not significantly increase or decrease within the next 12 months.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTA5OTUxMTYzNTg4MQ_243790db-0921-405e-bd27-65d94e68c986"
      unitRef="usd">680000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTA5OTUxMTYzNTg4NQ_2958dd66-fbcc-4ae8-9730-a3caad87b7d2"
      unitRef="usd">652000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTA5OTUxMTYzMzgyMg_1130c637-68ef-450d-83b8-519cd3eec718"
      unitRef="usd">-41000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTA5OTUxMTYzMzgzMA_091f3ce5-f6da-4fee-81b8-63c1049b8112"
      unitRef="usd">8000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTA5OTUxMTYzMzkyNw_8a7e6bae-095c-4d29-8d90-a8f0ad071a11"
      unitRef="usd">6000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTA5OTUxMTYzMzk1Nw_b821885a-097e-4c46-adeb-330c3f0b5a4f"
      unitRef="usd">-136000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTQ0Mg_bf3ee890-c5cf-48ed-bc65-c8db21ae8e32"
      unitRef="usd">961000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTQ0OQ_15ea3c31-b885-4b56-aada-173ab1c39ae0"
      unitRef="usd">763000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTU5Mg_03b72b53-e6e7-4472-a500-4b2ae7112af7"
      unitRef="usd">241000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTU5OQ_5811fc18-3b1c-4e9f-bec9-5ca787bbdb1d"
      unitRef="usd">278000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTc3MA_a309a448-0825-4a84-9ce1-fd7d74ef0462"
      unitRef="usd">720000</tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate>
    <tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMTc3Nw_eb1c7972-966f-4fc0-a78b-e02e1cec35eb"
      unitRef="usd">485000</tls:UnrecognizedTaxBenefitsThatWouldNotImpactEffectiveTaxRate>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMjAwNQ_c3374063-85c0-4952-812f-b5ac61f17177"
      unitRef="usd">238000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
      contextRef="ifc438897956a4e16aca2e2052be937bf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81NS9mcmFnOjBmZjJkYmI2YmJjZjQ5M2M5OGQxMWQ5YjA1OGU4ZTE5L3RleHRyZWdpb246MGZmMmRiYjZiYmNmNDkzYzk4ZDExZDliMDU4ZThlMTlfMjAxMg_bc54376d-22c4-4337-aa08-acec43e52188"
      unitRef="usd">241000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81OC9mcmFnOjc2ZGU3YjIxYjQ3NTQxZGZhM2ZiNGE1ZGJlNTAwMjg2L3RleHRyZWdpb246NzZkZTdiMjFiNDc1NDFkZmEzZmI0YTVkYmU1MDAyODZfNzEwNg_c566703f-c9e5-4948-9e57-6a310053c031">Commitments and Contingencies&lt;div style="margin-top:10pt"&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;Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Hamot et al. v. Telos Corporation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;As previously reported in Note 8 of the Form 10-Q for the quarter ended June 30, 2021 filed on August 16, 2021, beginning on August 2, 2007, Messrs. Seth W. Hamot (&#x201c;Hamot&#x201d;) and Andrew R. Siegel (&#x201c;Siegel&#x201d;), principals of Costa Brava Partnership III, L.P. (&#x201c;Costa Brava&#x201d;), were involved in litigation against the Company as Plaintiffs and Counter-defendants in the Circuit Court for Baltimore City, Maryland (the &#x201c;Circuit Court&#x201d;). Mr. Siegel was a Class D Director of the Company until the closing of the IPO on November 23, 2020, and Mr. Hamot was a Class D Director of the Company until his resignation on March 9, 2018. Trial on Hamot and Siegel&#x2019;s claims and the Company&#x2019;s counterclaims took place in July through September 2013, and the Court subsequently issued decisions on the various claims by way of memorandum opinions and orders dated September 11, 2017. Among other rulings, the Court found Hamot and Siegel liable for the intentional tort of tortious interference with the Company&#x2019;s contractual relationship with one of its auditors and entered a monetary judgment in favor of the Company and against Hamot and Siegel.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Hamot (and later, his Estate) and Siegel on multiple occasions during this litigation sought to be indemnified or to be awarded advancement of various attorney&#x2019;s fees and expenses incurred by them in this litigation. On January 28, 2021, Plaintiffs filed a Motion for Leave to File Amended Motion for Indemnification of Legal Fees and Expenses (&#x201c;Amended Motion&#x201d;). The Amended Motion demanded that the Company indemnify the Plaintiffs for legal fees and expenses incurred in the sum of $2,540,000 plus the costs incurred in obtaining indemnification, and the Company opposed the motions. On May&#160;5, 2021, the Company, Plaintiffs and Costa Brava entered into a settlement agreement, which included a mutual general release, fully and finally settling the indemnification claim in exchange for a $1.0 million payment, which sum was paid on May 12, 2021 as reported under other income (expense) in our condensed consolidated statements of operations. This settlement concluded all open matters or disputes between the Company and Messrs. Hamot (or his estate) and Siegel, as well as the previously disposed of claims of Costa Brava.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Other Litigation &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company may be a party to litigation from time to time arising in the ordinary course of business. In the opinion of management, while the results of such litigation cannot be predicted with any reasonable degree of certainty, the final outcome of such known matters will not, based upon all available information, have a material adverse effect on the Company's condensed consolidated financial position, results of operations or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Other - Government Contracts&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As a government contractor, we are subject to U.S. government audits and investigations relating to our operations, including claims for fines, penalties, and compensatory and damages. We believe the outcome of such ongoing government audits and investigations will not have a material impact on our results of operations, financial condition or cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the performance of our contracts, we routinely request contract modifications that require additional funding from the customer. Most often, these requests are due to customer-directed changes in the scope of work. While we are entitle to recovery of these costs under our contracts, the administrative process with our customer may be protracted. Based on the circumstances, we periodically file requests for equitable adjustments ("REAs") that are sometimes converted into claims. In some cases, these requests are disputed by our customers. We believe our outstanding modifications, REAs and other claims will be resolved without material impact to our result of operations, financial conditions or cash flows.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LegalFees
      contextRef="i8c4e079094ff4a91bc3b5da4995174c0_D20201020-20201020"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81OC9mcmFnOjc2ZGU3YjIxYjQ3NTQxZGZhM2ZiNGE1ZGJlNTAwMjg2L3RleHRyZWdpb246NzZkZTdiMjFiNDc1NDFkZmEzZmI0YTVkYmU1MDAyODZfNTI4NQ_b6065bc1-0a61-4feb-80c6-cf45ec60b21d"
      unitRef="usd">2540000</us-gaap:LegalFees>
    <us-gaap:LitigationSettlementAmountAwardedToOtherParty
      contextRef="i37c44af63dcb4e4e9a2a5e49343ced9d_D20210505-20210505"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF81OC9mcmFnOjc2ZGU3YjIxYjQ3NTQxZGZhM2ZiNGE1ZGJlNTAwMjg2L3RleHRyZWdpb246NzZkZTdiMjFiNDc1NDFkZmEzZmI0YTVkYmU1MDAyODZfMTA5OTUxMTY1MDkwNg_feb5681b-761a-4a4e-a7c3-542fe8bd6c6b"
      unitRef="usd">1000000</us-gaap:LitigationSettlementAmountAwardedToOtherParty>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMjMzOQ_9ed384c5-7c15-4ea7-a5d6-e0c2ae664a0b">Related Party Transactions&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Emmett J. Wood, the brother of our Chairman and CEO, has been an employee of the Company since 1996. The amounts paid to this individual as compensation were $88,000 and $389,000 for the three and nine months ended September&#160;30, 2021, respectively, and $193,000 and $517,000 for the three and nine months ended September&#160;30, 2020, respectively. Additionally, Mr. Wood owned 73,562 and 682,502 shares of the Company&#x2019;s common stock as of September&#160;30, 2021 and December&#160;31, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March&#160;31, 2015, the Company entered into the Porter Notes. At that time, Mr. Porter and Toxford Corporation, of which Mr. Porter controls as the co-trustee of the trust that is the sole stockholder of Toxford, owned 35.0% of our Class A Common Stock. Under the terms of the Porter Notes, Porter lent the Company $2.5 million on or about March&#160;31, 2015. According to the original terms of the Porter Notes, the outstanding principal sum bore interest at the fixed rate of twelve percent (12%) per annum which would be payable in arrears in cash on the 20th day of each May, August, November and February, with the first interest payment date due on August&#160;20, 2015. The Porter Notes did not call for amortization payments and were unsecured. The Porter Notes, in whole or in part, may be repaid at any time without premium or penalty. The unpaid principal, together with interest, was originally due and payable in full on July&#160;1, 2017. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April&#160;18, 2017, we amended and restated the Porter Notes to reduce the interest rate from twelve percent (12%) to six percent (6%) per annum, to be accrued, and extended the maturity date from July&#160;1, 2017 to July&#160;25, 2022. Telos also entered into Intercreditor Agreements with Porter and EnCap, in which the Porter Notes were fully subordinated to the Credit Agreement and any subsequent senior lenders, and payments under the Porter Notes were permitted only if certain conditions were met. All other terms remained in full force and effect. We incurred interest expense in the amount of $90,000 and $265,000 for the three and nine months ended September&#160;30, 2020, respectively, on the Porter Notes. On November 23, 2020, upon the closing of the IPO, the Porter Notes were paid in full.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 8, 2021, we hired Ms. Donna Hill, as Director, Human Resources, reporting directly to Ms. Nakazawa, EVP of the Company. Ms. Hill is the sister of Mr. Edward Williams, COO of the Company.&lt;/span&gt;&lt;/div&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i33d6d69b1ebd4e5aa892c70ea458b79e_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMjAw_a7e95b6f-f116-4750-9606-eaa76aa0f7a4"
      unitRef="usd">88000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i5fcdbd622eee441c8c942bc99adb960b_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMjA3_2f1a948b-8ab0-44eb-8751-f3ae581e15f3"
      unitRef="usd">389000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="i7e7221f363204e8c9c3cf03fd432a373_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMjY3_66b20b2d-9919-43f1-8869-327e472f7650"
      unitRef="usd">193000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <us-gaap:RelatedPartyTransactionAmountsOfTransaction
      contextRef="ie5fa7f2915ed4b198f2f7b855bc36024_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMjc0_c336dcfa-d26a-4331-a43b-a20b502ae980"
      unitRef="usd">517000</us-gaap:RelatedPartyTransactionAmountsOfTransaction>
    <tls:NumberOfSharesHeldByRelatedParty
      contextRef="ic96d4546441f46f68203cfaff15d5707_I20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMzU5_ee643999-b9e5-4432-9e45-7e8893926ba8"
      unitRef="shares">73562</tls:NumberOfSharesHeldByRelatedParty>
    <tls:NumberOfSharesHeldByRelatedParty
      contextRef="icb80570884734fe8a6d682bb2114b1a8_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMTA5OTUxMTYzMDQzNg_06b1a288-5b48-45ae-a6a0-3a51bbd125db"
      unitRef="shares">682502000000</tls:NumberOfSharesHeldByRelatedParty>
    <us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners
      contextRef="i26171b8177d04cdd92d332567629909c_I20150331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfNjIz_0cf37f89-6da3-4656-ae03-0ad8d7d5fdf2"
      unitRef="number">0.350</us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners>
    <us-gaap:ProceedsFromRelatedPartyDebt
      contextRef="ia27cf2ed20f749cdb1a1c2a4b5d1fe96_D20150331-20150331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfNzE2_21f60ec0-bd96-472a-b1c1-6a436e478a94"
      unitRef="usd">2500000</us-gaap:ProceedsFromRelatedPartyDebt>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ia27cf2ed20f749cdb1a1c2a4b5d1fe96_D20150331-20150331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfODY5_3dcea432-79c3-4735-ae8e-462cc3a703e3"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="ia27cf2ed20f749cdb1a1c2a4b5d1fe96_D20150331-20150331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMTA5OTUxMTYzMDEyNA_3dcea432-79c3-4735-ae8e-462cc3a703e3"
      unitRef="number">0.12</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:RelatedPartyTransactionRate
      contextRef="i59aff71aee8649fca50a60211c92d152_D20170418-20170418"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMTQxMQ_8e77f564-92af-49c3-8966-9d0c1909e74e"
      unitRef="number">0.06</us-gaap:RelatedPartyTransactionRate>
    <us-gaap:InterestExpenseRelatedParty
      contextRef="i6830a6b6eae14452b665bf55382e61ed_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMTg1Mw_fdb91b8a-c63c-467e-b677-5736a66d444c"
      unitRef="usd">90000</us-gaap:InterestExpenseRelatedParty>
    <us-gaap:InterestExpenseRelatedParty
      contextRef="i769b2784cf3548d1822647c51ea60ac2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82MS9mcmFnOjg3ZGFkYWZmZTZjZDQwZWRhZTQxZDY0ODk2YzZlYThjL3RleHRyZWdpb246ODdkYWRhZmZlNmNkNDBlZGFlNDFkNjQ4OTZjNmVhOGNfMTg2MA_dd536d83-ed80-4554-b90c-01c66aa21b39"
      unitRef="usd">265000</us-gaap:InterestExpenseRelatedParty>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RleHRyZWdpb246ZDc0YTBkOTRkYWY1NDBiMTgxZDhkN2FjNTJmOTc2ZjlfMjUxMA_b5c81371-b51e-455f-959a-eae16ea1dff0">Leases&lt;div style="margin-top:10pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.623%"/&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:top"&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 September 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:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&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;182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;546&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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="padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease 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;187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="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;492&#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 colspan="2" style="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;510&#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 colspan="2" style="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;1,489&#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 colspan="2" style="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;1,537&#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&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 costs&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;678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; Leases that have terms of 12 months or less&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms and discount rates were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;September 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 #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (in years):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.6 years&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;8.6 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9 years&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;2.8 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.04&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom: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;5.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom: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;5.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease commitments at September&#160;30, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.744%"/&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;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;Finance Leases&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;2021 (excluding the nine months ended September 30, 2021)&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;181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;After 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&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;1,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;17,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,149)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Total&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;1,118&#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;14,648&#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;Less Short-term portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Total, net of short-term portion&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;516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from operating activities - operating leases&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;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 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;552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from operating activities - finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from financing activities - finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets obtained in exchange for lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-bottom: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;486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: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 colspan="2" style="border-bottom: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;455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RleHRyZWdpb246ZDc0YTBkOTRkYWY1NDBiMTgxZDhkN2FjNTJmOTc2ZjlfMjUxMA_b7fe5b21-09f7-413e-a84a-c425f62c61d9">Leases&lt;div style="margin-top:10pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.623%"/&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:top"&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 September 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:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&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;182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;546&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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="padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease 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;187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="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;492&#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 colspan="2" style="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;510&#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 colspan="2" style="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;1,489&#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 colspan="2" style="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;1,537&#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&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 costs&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;678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; Leases that have terms of 12 months or less&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms and discount rates were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;September 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 #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (in years):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.6 years&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;8.6 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9 years&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;2.8 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.04&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom: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;5.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom: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;5.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease commitments at September&#160;30, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.744%"/&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;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;Finance Leases&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;2021 (excluding the nine months ended September 30, 2021)&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;181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;After 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&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;1,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;17,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,149)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Total&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;1,118&#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;14,648&#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;Less Short-term portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Total, net of short-term portion&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;516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from operating activities - operating leases&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;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 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;552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from operating activities - finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from financing activities - finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets obtained in exchange for lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-bottom: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;486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: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 colspan="2" style="border-bottom: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;455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RleHRyZWdpb246ZDc0YTBkOTRkYWY1NDBiMTgxZDhkN2FjNTJmOTc2ZjlfMjUxMg_7110112f-7e72-4592-ae0d-29ba27a52e30">&lt;div style="margin-top:10pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of lease expense were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.122%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.623%"/&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:top"&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 September 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:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&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;182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;546&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;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="padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease 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;187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="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;492&#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 colspan="2" style="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;510&#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 colspan="2" style="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;1,489&#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 colspan="2" style="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;1,537&#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&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 costs&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;678&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,048&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; Leases that have terms of 12 months or less&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted average remaining lease terms and discount rates were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;September 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 #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (in years):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.6 years&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;8.6 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9 years&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;2.8 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.04&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.04&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom: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;5.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom: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;5.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow information related to leases was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from operating activities - operating leases&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;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 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;552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from operating activities - finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;622&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash flows from financing activities - finance leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets obtained in exchange for lease obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-bottom: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;486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: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 colspan="2" style="border-bottom: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;455&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfMi0xLTEtMS0w_f94ae784-15cf-45b1-94e7-e9fa1fb65cb2"
      unitRef="usd">182000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfMi0zLTEtMS0w_86638a98-2255-42ae-b961-7e64eb8a648e"
      unitRef="usd">182000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfMi01LTEtMS0w_6f8ccd85-ad33-489c-aac4-1bb405a41952"
      unitRef="usd">546000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfMi03LTEtMS0w_2a593174-8e6f-4c6c-b2a0-82568ac80d77"
      unitRef="usd">542000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfMy0xLTEtMS0w_45e32a44-bec8-4e52-bdc1-0be96f7dd882"
      unitRef="usd">4000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfMy0zLTEtMS0w_72051c9f-d69f-410a-87e1-96db9ff88b1c"
      unitRef="usd">26000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfMy01LTEtMS0w_110e1d5d-9dbc-445b-9c38-257bad7ca85b"
      unitRef="usd">13000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfMy03LTEtMS0w_6b7825ef-5ce4-4104-bfe9-f836bc52210b"
      unitRef="usd">83000</us-gaap:ShortTermLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNS0xLTEtMS0w_066526b9-a5c8-4093-ba1a-3c390ba111ab"
      unitRef="usd">305000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNS0zLTEtMS0w_ede71908-b3cc-406c-b49a-ff27c0041192"
      unitRef="usd">305000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNS01LTEtMS0w_4b674c9d-dbfd-4493-8908-7b2458950a8c"
      unitRef="usd">915000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNS03LTEtMS0w_0f2bfe8c-d08e-4631-a798-8853ec735d74"
      unitRef="usd">915000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNi0xLTEtMS0w_1bdb6a65-6c7b-4f04-8fd7-3c9d07f4fd4f"
      unitRef="usd">187000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNi0zLTEtMS0w_41e4ed52-22df-4f8f-a58b-d1312fc6ed2c"
      unitRef="usd">205000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNi01LTEtMS0w_73404148-1ca2-4f0d-95d8-4ad5043c1f20"
      unitRef="usd">574000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNi03LTEtMS0w_02197e52-53b5-4ddc-9043-81bc74f70cd5"
      unitRef="usd">622000</us-gaap:FinanceLeaseInterestExpense>
    <tls:FinanceLeaseCost
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNy0xLTEtMS0w_27b1485b-eb71-4f95-b26b-ac4c907bb73a"
      unitRef="usd">492000</tls:FinanceLeaseCost>
    <tls:FinanceLeaseCost
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNy0zLTEtMS0w_c128bba3-fedc-47f1-952d-02f238ea7e76"
      unitRef="usd">510000</tls:FinanceLeaseCost>
    <tls:FinanceLeaseCost
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNy01LTEtMS0w_c7a7c87a-2930-4f78-862e-5789981424ff"
      unitRef="usd">1489000</tls:FinanceLeaseCost>
    <tls:FinanceLeaseCost
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfNy03LTEtMS0w_c56365f1-608a-4550-853c-5d37df6bea0c"
      unitRef="usd">1537000</tls:FinanceLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfOC0xLTEtMS0w_217eaad0-fc53-4a7e-a4d7-d0b9481f805e"
      unitRef="usd">678000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i4ba3447d75cc4926836f573bac909860_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfOC0zLTEtMS0w_a5534d48-85a4-4a01-8e09-6119462ac94d"
      unitRef="usd">718000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfOC01LTEtMS0w_73eb4d31-0e3a-47ba-9519-e74db353ab6d"
      unitRef="usd">2048000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOmM5YTQxMmY3ZTAyMjQzYmU5NmU5ZTIxNDgyMzU1ZTJjL3RhYmxlcmFuZ2U6YzlhNDEyZjdlMDIyNDNiZTk2ZTllMjE0ODIzNTVlMmNfOC03LTEtMS0w_3ce25b20-c9b3-44a5-bc36-576ae7935132"
      unitRef="usd">2162000</us-gaap:LeaseCost>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjUwMzQ3OTRiNTBiYTQ1M2NhZTZmYTgwOGEzMDAwZTYxL3RhYmxlcmFuZ2U6NTAzNDc5NGI1MGJhNDUzY2FlNmZhODA4YTMwMDBlNjFfMy0xLTEtMS0xNjgyNA_51e671af-0ced-428f-855e-982265b3142d">P7Y7M6D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjUwMzQ3OTRiNTBiYTQ1M2NhZTZmYTgwOGEzMDAwZTYxL3RhYmxlcmFuZ2U6NTAzNDc5NGI1MGJhNDUzY2FlNmZhODA4YTMwMDBlNjFfMy0zLTEtMS0xNjgzMw_e22e55f3-9ef6-4fa8-a557-971ad123a162">P8Y7M6D</us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjUwMzQ3OTRiNTBiYTQ1M2NhZTZmYTgwOGEzMDAwZTYxL3RhYmxlcmFuZ2U6NTAzNDc5NGI1MGJhNDUzY2FlNmZhODA4YTMwMDBlNjFfNC0xLTEtMS0xNjgyOA_398bbefa-d709-4a06-9507-37f7dceaac75">P1Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjUwMzQ3OTRiNTBiYTQ1M2NhZTZmYTgwOGEzMDAwZTYxL3RhYmxlcmFuZ2U6NTAzNDc5NGI1MGJhNDUzY2FlNmZhODA4YTMwMDBlNjFfNC0zLTEtMS0xNjg0Mg_89d512ce-d322-4a5b-9f63-dea2cf95fd03">P2Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjUwMzQ3OTRiNTBiYTQ1M2NhZTZmYTgwOGEzMDAwZTYxL3RhYmxlcmFuZ2U6NTAzNDc5NGI1MGJhNDUzY2FlNmZhODA4YTMwMDBlNjFfNi0xLTEtMS0xNjg1MQ_ca719d78-6e49-4e22-9890-9666e7ac8fe7"
      unitRef="number">0.0504</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent
      contextRef="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjUwMzQ3OTRiNTBiYTQ1M2NhZTZmYTgwOGEzMDAwZTYxL3RhYmxlcmFuZ2U6NTAzNDc5NGI1MGJhNDUzY2FlNmZhODA4YTMwMDBlNjFfNi0zLTEtMS0xNjg1Ng_c9dd770b-18ac-4e0b-9cf7-38fa3ccc7789"
      unitRef="number">0.0504</us-gaap:FinanceLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjUwMzQ3OTRiNTBiYTQ1M2NhZTZmYTgwOGEzMDAwZTYxL3RhYmxlcmFuZ2U6NTAzNDc5NGI1MGJhNDUzY2FlNmZhODA4YTMwMDBlNjFfNy0xLTEtMS0xNjg2Mw_adba9993-2e66-4aa3-b9ba-4d59da67d56c"
      unitRef="number">0.0575</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ia0825ce0a74b495d9fe0e0be973f6b24_I20200930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjUwMzQ3OTRiNTBiYTQ1M2NhZTZmYTgwOGEzMDAwZTYxL3RhYmxlcmFuZ2U6NTAzNDc5NGI1MGJhNDUzY2FlNmZhODA4YTMwMDBlNjFfNy0zLTEtMS0xNjg2Ng_0133e187-4f4a-4b24-acab-c1627aa2d561"
      unitRef="number">0.0575</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RleHRyZWdpb246ZDc0YTBkOTRkYWY1NDBiMTgxZDhkN2FjNTJmOTc2ZjlfNDM5ODA0NjUxNjUxNQ_53fdacae-9036-4c27-9afd-ebb878a3f266">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease commitments at September&#160;30, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.744%"/&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;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;Finance Leases&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;2021 (excluding the nine months ended September 30, 2021)&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;181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;After 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&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;1,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;17,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,149)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Total&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;1,118&#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;14,648&#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;Less Short-term portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Total, net of short-term portion&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;516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RleHRyZWdpb246ZDc0YTBkOTRkYWY1NDBiMTgxZDhkN2FjNTJmOTc2ZjlfNDM5ODA0NjUxNjUxNQ_627f3050-2516-4409-8954-c4c25b5dd63e">&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease commitments at September&#160;30, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.853%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.744%"/&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;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;Finance Leases&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;2021 (excluding the nine months ended September 30, 2021)&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;181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,258&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;After 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,344&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&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;1,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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;17,797&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(66)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,149)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Total&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;1,118&#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;14,648&#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;Less Short-term portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;602&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,430&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;Total, net of short-term portion&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;516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMS0xLTEtMS0xNjc2MQ_bfdc710f-0c8b-42c5-a5d6-1022f2f88027"
      unitRef="usd">181000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMS0zLTEtMS0xNjc2MQ_1d3cdafa-692f-4b44-b47c-1a1d244aef48"
      unitRef="usd">530000</us-gaap:FinanceLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMi0xLTEtMS0xNjc2MQ_8053b607-ff97-4e64-95d7-ba1f525a7077"
      unitRef="usd">603000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMi0zLTEtMS0xNjc2MQ_9e310f92-b812-49a4-b82a-c75a18d7156d"
      unitRef="usd">2149000</us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMy0xLTEtMS0xNjc2MQ_90296622-366f-44f3-9bde-686029ab90b8"
      unitRef="usd">373000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMy0zLTEtMS0xNjc2MQ_0ce7416b-136e-412d-81ac-c350da64bcbc"
      unitRef="usd">2202000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfNC0xLTEtMS0xNjc2MQ_465fb538-adca-4e80-be45-e28735aad41b"
      unitRef="usd">27000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfNC0zLTEtMS0xNjc2MQ_e4a74842-adc5-420e-9bf4-531da5a5a757"
      unitRef="usd">2258000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfNS0xLTEtMS0xNjc2MQ_b31e1daa-f582-4667-bb60-d5b834e9137f"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfNS0zLTEtMS0xNjc2MQ_e7f4bf05-b24b-4f57-a72f-9a278d4ab8a2"
      unitRef="usd">2314000</us-gaap:FinanceLeaseLiabilityPaymentsDueYearFour>
    <tls:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfNi0xLTEtMS0xNjc2MQ_769edcf9-bd31-4374-910d-b8665ccf7310"
      unitRef="usd">0</tls:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <tls:FinanceLeaseLiabilityToBePaidAfterYearFour
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfNi0zLTEtMS0xNjc2MQ_8bdb224e-919d-47ed-bf9f-66ae2405f13d"
      unitRef="usd">8344000</tls:FinanceLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfNy0xLTEtMS0xNjc2MQ_0f96f60d-3009-4103-8bf7-c508be3fd668"
      unitRef="usd">1184000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:FinanceLeaseLiabilityPaymentsDue
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfNy0zLTEtMS0xNjc2MQ_d5e886da-1c6b-4bdd-b919-cf08f529e701"
      unitRef="usd">17797000</us-gaap:FinanceLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfOC0xLTEtMS0xNjc2MQ_1fc0d703-352a-4eda-8498-4cab374de668"
      unitRef="usd">66000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfOC0zLTEtMS0xNjc2MQ_a229b7c9-d750-4079-a95b-8487c112a0b3"
      unitRef="usd">3149000</us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfOS0xLTEtMS0xNjc2MQ_d06e4654-3ed1-4577-9533-410154af4e87"
      unitRef="usd">1118000</us-gaap:OperatingLeaseLiability>
    <us-gaap:FinanceLeaseLiability
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfOS0zLTEtMS0xNjc2MQ_c5acba89-a3c9-4141-93a1-ea923cd6d18d"
      unitRef="usd">14648000</us-gaap:FinanceLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMTAtMS0xLTEtMTY3NjE_1ee26a7a-bbb1-4e6b-82ad-d0a1595a6335"
      unitRef="usd">602000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:FinanceLeaseLiabilityCurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMTAtMy0xLTEtMTY3NjE_41d7618f-f9df-40c7-a6ce-33d3ba65e282"
      unitRef="usd">1430000</us-gaap:FinanceLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMTEtMS0xLTEtMTY3NjE_82ef22a2-b996-412c-94bd-f108c2a9de96"
      unitRef="usd">516000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:FinanceLeaseLiabilityNoncurrent
      contextRef="i8673c8f795a64fc4bfca9895bb320416_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjI5MDgyZTJlN2E4ODQ5NGZiODJhZDY3M2RjNWMxNDBkL3RhYmxlcmFuZ2U6MjkwODJlMmU3YTg4NDk0ZmI4MmFkNjczZGM1YzE0MGRfMTEtMy0xLTEtMTY3NjE_a5a06d3b-5f56-4bc4-8323-ecae345098ee"
      unitRef="usd">13218000</us-gaap:FinanceLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeasePayments
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjhlNWM1ZGVmMmRlMjQxY2M4NWZkZGEzMTNlYzgyZWY4L3RhYmxlcmFuZ2U6OGU1YzVkZWYyZGUyNDFjYzg1ZmRkYTMxM2VjODJlZjhfMy0xLTEtMS0w_74ea6b41-ecc4-4bc1-b067-dacf41c33050"
      unitRef="usd">586000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjhlNWM1ZGVmMmRlMjQxY2M4NWZkZGEzMTNlYzgyZWY4L3RhYmxlcmFuZ2U6OGU1YzVkZWYyZGUyNDFjYzg1ZmRkYTMxM2VjODJlZjhfMy0zLTEtMS0w_80fd7fc1-2338-4b9a-a843-19b4dfa3ce93"
      unitRef="usd">552000</us-gaap:OperatingLeasePayments>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjhlNWM1ZGVmMmRlMjQxY2M4NWZkZGEzMTNlYzgyZWY4L3RhYmxlcmFuZ2U6OGU1YzVkZWYyZGUyNDFjYzg1ZmRkYTMxM2VjODJlZjhfNC0xLTEtMS0w_9172a96b-d0da-40e4-8408-41fa78a148e4"
      unitRef="usd">574000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeaseInterestPaymentOnLiability
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjhlNWM1ZGVmMmRlMjQxY2M4NWZkZGEzMTNlYzgyZWY4L3RhYmxlcmFuZ2U6OGU1YzVkZWYyZGUyNDFjYzg1ZmRkYTMxM2VjODJlZjhfNC0zLTEtMS0w_742f79bf-151b-413e-adb8-5144b9336ee1"
      unitRef="usd">622000</us-gaap:FinanceLeaseInterestPaymentOnLiability>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjhlNWM1ZGVmMmRlMjQxY2M4NWZkZGEzMTNlYzgyZWY4L3RhYmxlcmFuZ2U6OGU1YzVkZWYyZGUyNDFjYzg1ZmRkYTMxM2VjODJlZjhfNS0xLTEtMS0w_b0b657f5-d47b-4557-8cdc-46744d23d387"
      unitRef="usd">993000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:FinanceLeasePrincipalPayments
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjhlNWM1ZGVmMmRlMjQxY2M4NWZkZGEzMTNlYzgyZWY4L3RhYmxlcmFuZ2U6OGU1YzVkZWYyZGUyNDFjYzg1ZmRkYTMxM2VjODJlZjhfNS0zLTEtMS0w_5fae31d9-805f-461e-b329-35d1e3bb1691"
      unitRef="usd">907000</us-gaap:FinanceLeasePrincipalPayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjhlNWM1ZGVmMmRlMjQxY2M4NWZkZGEzMTNlYzgyZWY4L3RhYmxlcmFuZ2U6OGU1YzVkZWYyZGUyNDFjYzg1ZmRkYTMxM2VjODJlZjhfNi0xLTEtMS0w_56df217b-34b0-4a81-9c26-d78712e9f705"
      unitRef="usd">486000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i8d0458c6e0604495a704e64ef5f3b9f2_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82NC9mcmFnOmQ3NGEwZDk0ZGFmNTQwYjE4MWQ4ZDdhYzUyZjk3NmY5L3RhYmxlOjhlNWM1ZGVmMmRlMjQxY2M4NWZkZGEzMTNlYzgyZWY4L3RhYmxlcmFuZ2U6OGU1YzVkZWYyZGUyNDFjYzg1ZmRkYTMxM2VjODJlZjhfNi0zLTEtMS0w_0261bd04-9178-419d-9c85-c602d363a788"
      unitRef="usd">455000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNDE5Mg_1769d15b-ab64-49d2-9984-9b7bc500d2a7">Stock-Based Compensation&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During October 2020, the Company amended the 2016 LTIP to increase the total number of shares available for issuance to 9,400,000 from 4,500,000 and extend the term to September 30, 2030. Our 2016 LTIP provides for the grant of stock options, stock appreciation rights, restricted stock, restricted stock units, unrestricted stock and dividend equivalent rights to our senior executives, directors, employees, and other service providers. Awards granted under the 2016 LTIP vest over the periods determined by the Board of Directors or the Compensation Committee of the Board of Directors, generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNjI3_eabda4ff-c026-485c-9d7f-124f6cf5f3b2"&gt;two&lt;/span&gt; to three years and stock options granted under the 2016 LTIP expire no more than ten years after the date of grant. Approximately 5.7 million shares of our common stock were reserved for future grants as of September&#160;30, 2021 under the 2016 LTIP.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following are the stock-based compensation expense incurred for the three and nine months ended September&#160;30, 2021 (in thousands).  We recorded immaterial share-based compensation expense for the comparative periods ended September&#160;30, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.785%"/&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:top"&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 September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 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;Cost of sales - services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #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;442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&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;970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td 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;12,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock Awards and Restricted Stock Unit (collectively &#x201c;RSU&#x201d;) Activity&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company grants RSUs to our senior executives, directors and employees.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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;Service-Based RSU Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the awards of Service-Based RSUs that vest upon the completion of a service requirement are presented below:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.579%"/&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;Number of&lt;br/&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average Grant&lt;br/&gt;Date Fair&lt;br/&gt;Value&lt;br/&gt;(per share)&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;Contractual&lt;br/&gt;Life (years)&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;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value &lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2020&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;59,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,036,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,800)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(79,476)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - September 30, 2021&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;2,896,808&#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;35.04&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;1.5&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;82,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognized an expense of $12.0 million and $34.0 million related to share-based compensation expense for Service-Based RSUs capable of being earned for completing a service requirement during the three and nine months ended September&#160;30, 2021, respectively.  As of September&#160;30, 2021, there was approximately $71.5 million of unrecognized stock-based compensation expense related to Service-Based RSUs, and this unrecognized expense is expected to be recognized over a weighted-average period of 1.5 years on a straight-line basis.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Performance-Based RSU Awards&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the awards of Performance-Based RSUs that vest upon the attainment of certain price targets of the Company&#x2019;s common stock are presented below:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.579%"/&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;Number of&lt;br/&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average Grant&lt;br/&gt;Date Fair&lt;br/&gt;Value&lt;br/&gt;(per share)&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;Contractual&lt;br/&gt;Life (years)&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;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2020&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 style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;508,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,176)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - September 30, 2021&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;492,727&#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;30.07&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;2.5&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;14,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During 2021 the Company granted certain senior executives awards of Performance-Based RSUs that could settle in 458,903 shares of our common stock. The awards will vest only if, during the three-year period from the date of grant, (a) the Company&#x2019;s common stock, as listed on the Nasdaq Global Market, trades at or above $42.40 per share (the &#x201c;Target Price&#x201d;) for 20 of 30 consecutive trading days or (b) the weighted average of the per share price of the Company&#x2019;s common stock over any 30 consecutive trading days is at least equal to the Target Price. Further, the Company granted 50,000 shares of Performance-Based RSUs to certain employees that will fully vest upon the achievement of certain operational milestones during a three-year period from the grant date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For these Performance-Based RSUs containing market conditions, the conditions are required to be considered when calculating the grant date fair value. In order to reflect the substantive characteristics of these awards, a Monte Carlo simulation valuation model was used to calculate the grant date fair value of such awards. Monte Carlo approaches are a class of computational algorithms that rely on repeated random sampling to compute their results. This approach allows the calculation of the value of such Performance-Based RSUs based on a large number of possible stock price path scenarios. As the Company recently completed its IPO in November 2020, expected volatility was based on the average historical stock price volatility of comparable publicly-traded companies over the performance period. The risk-free rate is based on the U.S. treasury zero-coupon issues in effect at the time of grant over the performance period. Expense for these awards is recognized over the derived service period as determined through the Monte Carlo simulation model.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our key assumptions include a performance period ranging from 2.45 to 2.92 years, expected volatility between 57.4% - 58.81%, and a risk-free rate of 0.18%-0.29%. The fair value at grant date and derived service periods calculated for these market condition Performance-Based RSUs were $19.12 - $30.84 and between 0.38 - 0.76 years, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We recognized an expense of $0.2&#160;million and $13.2 million related to share-based compensation expense for these awards of Performance-Based RSUs during the three and nine months ended September&#160;30, 2021, respectively. As of September&#160;30, 2021, there was approximately $1.6&#160;million of unrecognized stock-based compensation expense related to these Performance-Based RSUs, and this unrecognized expense is expected to be recognized over a weighted-average period of 0.3 years on a straight-line basis.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i844dbeefc1fe4b9bab25cd4121de9349_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTU5_8567de2d-9d15-4fb1-87cc-726e11dcd633"
      unitRef="shares">9400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="iac78c653403f4f0daa0c853f0f0a460f_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTY3_a7f8f782-a20e-4da1-8cb5-62d097a0b1bc"
      unitRef="shares">4500000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i76eb2cdb7a1d4489a8964bc0f87091db_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNjMz_a7cca897-571b-43e1-9267-a96cefc6b268">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i526eec98d0284fdea9b8c6ba5d22d7df_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNzAy_b3693ea1-4039-4494-86ed-3da893c8f619">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i296e5507533f4435991fdd1cd743fd28_I20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNzQ0_5354766b-a3a4-47a4-96c1-336ef1cb7b75"
      unitRef="shares">5700000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNDE4OA_2c84fc92-682e-40cd-b32e-4089c8c65f5c">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following are the stock-based compensation expense incurred for the three and nine months ended September&#160;30, 2021 (in thousands).  We recorded immaterial share-based compensation expense for the comparative periods ended September&#160;30, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.115%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.783%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.785%"/&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:top"&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 September 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 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;Cost of sales - services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #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;442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,316&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&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;970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td 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;12,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9bd4b96fcf704c2fb467fc9a6f40eca7_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfMS0yLTEtMS0w_115409a7-305d-4577-a046-e7da7bbc6c65"
      unitRef="usd">442000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i430c9c35fe3d46ffa8fb83fb4bc15d88_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfMS00LTEtMS0w_b47dd8bd-3614-4bab-ad70-9c2f0d94e9bb"
      unitRef="usd">1974000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0db6b4912d5c456587e132462bbfec45_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfMi0yLTEtMS0w_3a36085c-37a3-4d68-8dd2-d5421c90d55c"
      unitRef="usd">1536000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2b92f748c8c340519bb2d9535c5afad0_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfMi00LTEtMS0w_38ce29cc-343e-47cd-89b9-8bef4b6c357d"
      unitRef="usd">5316000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id5bf997e1d49477c81475db7852c62eb_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfMy0yLTEtMS0w_64640950-19b5-4e1e-90b2-de170dd1bc94"
      unitRef="usd">970000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie021e717a8034b94b15c91882542dcb2_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfMy00LTEtMS0w_bffc739b-e84d-4f88-9389-6e53928f90a2"
      unitRef="usd">2079000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6a5336d20c414255b0ffcc55743c89a2_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfNC0yLTEtMS0w_a74cd0ec-0132-4b39-8c24-a7d18c6607f5"
      unitRef="usd">9243000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0c1963ee5fdb42d889eca4849da21ade_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfNC00LTEtMS0w_dd89313d-fa2d-4ec3-803f-2ac36465130e"
      unitRef="usd">37828000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i487fcab719244c63bf9e822407bf3b94_D20210701-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfNS0yLTEtMS0w_d6fd6b52-9b54-4360-a4f0-fe5a3f560386"
      unitRef="usd">12191000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmExNzI0ZjQ2ODllMDQ2NDZiNDI5ZDhmYWQ4NmI0NzlkL3RhYmxlcmFuZ2U6YTE3MjRmNDY4OWUwNDY0NmI0MjlkOGZhZDg2YjQ3OWRfNS00LTEtMS0w_4b79af36-76bd-4eeb-958d-66310d7ef2ce"
      unitRef="usd">47197000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="i6864b5d56a8b4a518f27525aea5141ab_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNDE4OQ_3f264561-c670-4537-8718-f401c9022b70">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the awards of Service-Based RSUs that vest upon the completion of a service requirement are presented below:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.579%"/&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;Number of&lt;br/&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average Grant&lt;br/&gt;Date Fair&lt;br/&gt;Value&lt;br/&gt;(per share)&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;Contractual&lt;br/&gt;Life (years)&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;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value &lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2020&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;59,521&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,036,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,800)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(79,476)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - September 30, 2021&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;2,896,808&#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;35.04&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;1.5&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;82,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of the awards of Performance-Based RSUs that vest upon the attainment of certain price targets of the Company&#x2019;s common stock are presented below:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:41.988%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.579%"/&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;Number of&lt;br/&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average Grant&lt;br/&gt;Date Fair&lt;br/&gt;Value&lt;br/&gt;(per share)&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;Contractual&lt;br/&gt;Life (years)&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;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value&lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - December 31, 2020&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 style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;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 style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;508,903&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.09&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,176)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested Balance - September 30, 2021&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;492,727&#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;30.07&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 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;2.5&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;14,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i4cedc9d62f1e4a8fb8ecb0621bf254ec_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfMS0xLTEtMS0w_2b52af98-dec1-46f5-a2cb-dd6afa23bf03"
      unitRef="shares">59521</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i4cedc9d62f1e4a8fb8ecb0621bf254ec_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfMS0zLTEtMS0w_977518ab-872e-4348-b93b-dc85db5edab8"
      unitRef="usdPerShare">0.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="i05e48fe4c38343e1bd3e81feee8a649f_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfMS01LTEtMS0w_0d005f93-4751-4339-b876-40f52be6c8f7">P2Y4M24D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="i4cedc9d62f1e4a8fb8ecb0621bf254ec_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfMS03LTEtMS0w_22218e1c-49f6-467c-b711-6befde07a76c"
      unitRef="usd">2000000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfMi0xLTEtMS0w_f317f558-c84e-4938-9adb-7679beb60a83"
      unitRef="shares">3036563</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfMi0zLTEtMS0w_f19467c4-de9d-4876-a297-42c66c3d0054"
      unitRef="usdPerShare">35.69</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfMy0xLTEtMS0w_71a006cf-60b5-4175-876b-9d63223b5dcc"
      unitRef="shares">119800</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfMy0zLTEtMS0w_3cece9e3-eac6-4d83-9b2b-ab3718b3600b"
      unitRef="usdPerShare">36.17</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfNC0xLTEtMS0w_b3cc37e2-beed-4268-8d2a-209bacaa70be"
      unitRef="shares">79476</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfNC0zLTEtMS0w_654c5021-82ec-4cba-ae92-a3e268aab085"
      unitRef="usdPerShare">36.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="if4a9fa20bf334199a0c082d94c13e9ef_I20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfNS0xLTEtMS0w_4d18277b-83ee-4dff-96df-2c50493f6986"
      unitRef="shares">2896808</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="if4a9fa20bf334199a0c082d94c13e9ef_I20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfNS0zLTEtMS0w_684d5f98-a8ec-4d15-9990-f4db44c63b51"
      unitRef="usdPerShare">35.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfNS01LTEtMS0w_516cf57d-acc0-4725-9ee8-b5864b2181a4">P1Y6M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="if4a9fa20bf334199a0c082d94c13e9ef_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOjI1NmU0YmRiMGY5MDQ3MzlhZjQ0N2YzODhlMzJlYzM3L3RhYmxlcmFuZ2U6MjU2ZTRiZGIwZjkwNDczOWFmNDQ3ZjM4OGUzMmVjMzdfNS03LTEtMS0w_6a5bc8fb-98cc-48a6-a182-745648718e89"
      unitRef="usd">82300000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0e4b3075d3a94e8ebb1831171225f015_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTQyNA_18372358-e0f1-4f4c-8529-d6ef53b0bf9c"
      unitRef="usd">12000000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTQzMQ_b2487f26-f67d-418b-a637-cc59cd4074b7"
      unitRef="usd">34000000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="if4a9fa20bf334199a0c082d94c13e9ef_I20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTY1Mw_d5a5e91d-23c4-4682-8f99-5f94aa866537"
      unitRef="usd">71500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ib3eccb6e259849f4ade07a9303b0ec76_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTgyOQ_024c1c7c-393b-47e9-8cb0-92b7c7e3f168">P1Y6M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="if42b9c703b424c209d1adf24e99e4471_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfMS0xLTEtMS0w_3cd51899-48b3-49c9-8f68-2de08c017992"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="if42b9c703b424c209d1adf24e99e4471_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfMS0zLTEtMS0w_4c0fd0d9-baef-4fd7-9c25-643d57336652"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfMi0xLTEtMS0w_bc355f18-583d-4d9a-9246-919fa9ba8b81"
      unitRef="shares">508903</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfMi0zLTEtMS0w_bed64ef1-5cf0-45db-8f7f-15c7b26ddbc0"
      unitRef="usdPerShare">30.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfMy0xLTEtMS0w_55c376ea-7af7-49cb-8a52-bf8f93688543"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfMy0zLTEtMS0w_3f0b56d1-ab91-49e7-a39c-4d45c4524c99"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfNC0xLTEtMS0w_0e971b3b-fc2c-4975-9076-cdc122c17839"
      unitRef="shares">16176</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfNC0zLTEtMS0w_eecf628c-f41d-4c54-966c-04984307fde9"
      unitRef="usdPerShare">30.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="iee95abf8308645dbbaa0e44bfc360ba0_I20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfNS0xLTEtMS0w_76f64a6c-f0c8-42e5-8aed-a8798ff40d7d"
      unitRef="shares">492727</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="iee95abf8308645dbbaa0e44bfc360ba0_I20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfNS0zLTEtMS0w_264838bd-f28e-45e6-b3c1-eea8c9ae0020"
      unitRef="usdPerShare">30.07</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfNS01LTEtMS0w_f336c79c-c0f3-43ff-8a2f-de48bd9454b6">P2Y6M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="iee95abf8308645dbbaa0e44bfc360ba0_I20210930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RhYmxlOmJjNWZhYjIxZmM4NDRiMWNiNjgxOTczYmE4NzIxMDdkL3RhYmxlcmFuZ2U6YmM1ZmFiMjFmYzg0NGIxY2I2ODE5NzNiYTg3MjEwN2RfNS03LTEtMS0w_ad6576c4-b59f-4c39-a143-57aeae3c25a2"
      unitRef="usd">14000000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i61717d106fe6411fb335ab0cb97317f9_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTA5OTUxMTYzOTc3MQ_31580184-339f-4005-a3ba-dd2dff4bc37c"
      unitRef="shares">458903</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i61717d106fe6411fb335ab0cb97317f9_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNDM5ODA0NjUyODc4Ng_ee8f5511-3468-4047-b1de-bb238f8d472d">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdStockPriceTrigger
      contextRef="i4f017cd5c0d64babbbaf41bb4ed728c1_I20210128"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMjM1Mg_f8c5c63c-98c0-4afc-8fd3-b2e365decd73"
      unitRef="usdPerShare">42.40</tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdStockPriceTrigger>
    <tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdTradingDays
      contextRef="i61717d106fe6411fb335ab0cb97317f9_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMjM5MA_6a7d876e-13eb-4f91-9679-89d7ecbd8932"
      unitRef="day">20</tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdTradingDays>
    <tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdConsecutiveTradingDays
      contextRef="i61717d106fe6411fb335ab0cb97317f9_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMjM5Ng_d21aaa9d-99bb-441e-ba17-b1f63427635f"
      unitRef="day">30</tls:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingThresholdConsecutiveTradingDays>
    <tls:WeightedAverageOfConsecutiveTradingDaysRequiredForSharesEqualToTargetPrice
      contextRef="i61717d106fe6411fb335ab0cb97317f9_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMjUxNA_22e1484b-c025-42ed-b2d2-6792036769ec">P30D</tls:WeightedAverageOfConsecutiveTradingDaysRequiredForSharesEqualToTargetPrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i3fd02897295f4a12b56ac480e1d3ed33_D20210101-20210930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTA5OTUxMTYzOTk4NQ_4b95b142-6985-4cfa-a6ac-e134fde5d23a"
      unitRef="shares">50000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i3fd02897295f4a12b56ac480e1d3ed33_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfNDM5ODA0NjUyODc4NQ_fa77aa6b-ea5f-4cdd-bc17-9078a04fc0ee">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ib0c3df9e1a2f42bbb1951f719ae88762_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTY0OTI2NzQ1MjQ2Mg_e61cbe01-718d-432c-8d77-effa878af274">P2Y5M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="idc7213aacbf24c32a690e736d0bc4715_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMzIzMQ_4d1e0f14-b890-41bf-8464-132810be0ec1">P2Y11M1D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="ib0c3df9e1a2f42bbb1951f719ae88762_D20210101-20210930"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMzI1OA_f4eaee77-1875-442c-a4ef-95134935edce"
      unitRef="number">0.574</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="idc7213aacbf24c32a690e736d0bc4715_D20210101-20210930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTY0OTI2NzQ1MjQ3Mg_10135833-94b9-4313-8535-2d2623653d22"
      unitRef="number">0.5881</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMzI4Ng_b6f973d4-d9e9-4c7f-bfd8-b745334b7700"
      unitRef="number">0.0018</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTY0OTI2NzQ1MjQ4MA_f123ff9f-a1ee-4170-84fe-382e9293557b"
      unitRef="number">0.0029</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ie44b0d8b4d954dbbadd81d8018345c2d_I20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTY0OTI2NzQ1MjQ4OQ_a8092435-95ae-43c0-9330-ad07729cd173"
      unitRef="usdPerShare">19.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i32249302288f4e3d82494cf18435a19a_I20210930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMzg3NA_682e4382-3b6e-4418-93d6-152f71318738"
      unitRef="usdPerShare">30.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="ib0c3df9e1a2f42bbb1951f719ae88762_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMzg4MQ_003ad13b-aef1-485e-8002-bad9c0757be5">P0Y4M17D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1
      contextRef="idc7213aacbf24c32a690e736d0bc4715_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTY0OTI2NzQ1MjUwMQ_30478d33-be6a-4b37-b1e1-d3f157b51f20">P0Y9M3D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i6a9382e6687d4b36b7e74f4117cade8a_D20210701-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMzkyNw_aa62e9d3-58d8-4ad3-bf34-918284c3bcee"
      unitRef="usd">200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMzkzNA_50adf0cd-b8ea-423a-9d0e-9a9aaabb6ed2"
      unitRef="usd">13200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="iee95abf8308645dbbaa0e44bfc360ba0_I20210930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTA5OTUxMTY0MTA0NA_86b1d165-8792-43ca-90a6-75a2828ee303"
      unitRef="usd">1600000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i541e5289a38748a2a08508be6289e9af_D20210101-20210930"
      id="id3VybDovL2RvY3MudjEvZG9jOmRjNDVmOTJhNDc2MTQxMDVhMTNhYWI2MjA5ZDMwOGYwL3NlYzpkYzQ1ZjkyYTQ3NjE0MTA1YTEzYWFiNjIwOWQzMDhmMF82Ny9mcmFnOjcxMTgzMmFhYzQ3ZDRkZDE5OTk5N2ZiNTg0Mzk3OTA0L3RleHRyZWdpb246NzExODMyYWFjNDdkNGRkMTk5OTk3ZmI1ODQzOTc5MDRfMTY0OTI2NzQ1MzA4NA_daec62e4-1345-4460-a1bf-5515ad00f6c8">P0Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
</xbrl>
