<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:appf="http://www.appfolio.com/20200930"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-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:us-gaap="http://fasb.org/us-gaap/2020-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="appf-20200930.xsd" xlink:type="simple"/>
    <context id="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="icfb6422cfdc2422da59124b859b32411_I20201102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-02</instant>
        </period>
    </context>
    <context id="ia81c3dfabc7d4fe2a1334ae3b5dc6a56_I20201102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-11-02</instant>
        </period>
    </context>
    <context id="i9de0ccc9272e40339b66d9b904972b5a_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i27a46859dcc4465a8e753fe1004915ad_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2aa34bac44324f1ab8003b896d211a49_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i4ad01f4eab034604858e24ebb4303bed_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iaf7a55617ca0401a9a8d002b04c62cf2_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i69c0434981bd4ed5bd48696bc9108595_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i97755c110c964880a16e1321e96164ad_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i69afa20c0b564923860d1ce96175f949_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3b5b635cfddf47f583b8a4a01a83bd92_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i86838bd0551e40129ad9552c8ff38e72_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i8372c702331047c8a52b00ea242e0afa_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="if52fc60844f94be795a608a42c0cb1e7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i98f1e68db1d943b58ab26dca12473e7a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i0c2a76af4818470582e645ab716b63b2_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i952a04768a1443d2b20a630eb5dcee2b_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i56a4fd465f5a4af294451a24bb617c4e_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i5819c23e83b743f78863561d1d62187a_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ifddfe51adb0944c98829358dca14fe45_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ib3664c6e1d284db3a43d2f8c40d86f7b_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ieb4cea1089234fbd8f9cdb2b44ac26b9_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i2bb4047dbfe248f496c88087ddef7686_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i8cda40cab8914c0f8526ecadc06251ff_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i2264254254354b02aeeac26b82dbe8bc_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i5d692ff13c7b411ba9a05f2097f71b32_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="if79cbf2da48e415b9d6e8c3647e48929_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i297547587b1b43d5a0110bba194e39af_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i78f60e5afaab4e7682a9388b3351e418_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i89cb4c7b64c3492c8aa2a56fa5d83e0a_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i23af597588a743ebbc368da9bf761ee4_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ie558e09490c14b859eba27ed8cef42ec_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i844ba17f788b49cf843ec73098f09294_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ic57065b14fe04db8bc2c80719dbb029c_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i36683dae4d71438e82ac2e2c67612c36_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="ib39d4b9f746a48779ed21c3740f085cd_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="if41615a8b16645a5b97afa5f2c096618_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i5b9c012ff524482cbadbccf481b001e5_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="iaea5c5416f774411825a0da97163d5cd_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i7f7bdf5584804951be9a480c6337959c_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="idb7e42c126b34a8cb54c67c1d729de36_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="iac701e213f6c491fa5a093dd7892f624_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="iec54854b58bf448b9e5fa005164bd3e3_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i0cc44b55ad694a5f8b7f44a9f4b67ba2_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ida7b571d4630487f8d74dede241a7eb4_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="ieb34858f674d4199b656322023698d14_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i1e28b630a4d24a4e9e9a8030419f8e37_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i9ab6aaeadc4f4d888cd1fd3f2e0d9650_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i83ad90fc7d6f426590d9df68873c69a8_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i581efb23270f4ad29423c98c4e740c3c_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="i6f97aaac639044feb938b296b7268fe7_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ib4734c4bd55848bcb8f798b3b8ce9728_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</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="id0788078950248528b41151d9bc4181f_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ia57d80d7b00047809462723783c9cca6_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i35730d9eae4f4423bfa658c086f20328_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i10fce8f7d564458896f10ab0aa24099e_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="iacf87d2d17104a77b4560d1b1c80bd44_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="id4cc4f1d58a94a44ab58970c2238acff_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i869f6796db6744789d6591bb34d5c927_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i6accbf19887a44dfb53ea71c343675b0_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ia35396cdc10b4d1ba497c0107781b0a2_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i88ebe4362e1c46b69799cab7fe68a641_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="icdf9ead8889d47ffbb16cd90e98bf8ca_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="iae5d6c3721d1406db4df7ffab2ab584c_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i6e39fd2a751343da91d9962738a2e760_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ic03afd3257f649a29462657e4c8e2c44_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="i1a04fca8e2d44024bff38b12b311c5f1_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="idcbe04f289fe4d4ba5bd1d36450a1c1d_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="id7d7737fc3734a11877cd3e7f4334780_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="idfc968973bab414bbaadb26c9669c590_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="i551556d98be046bb871f94e58714238e_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="idc84b7e58a6a4053977e69f489ff73b8_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="i1f0f7bbdbbbe4ecc84ea51bf503ea1a9_D20190401-20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="i913373d819d54062a8279518cc119db6_D20190401-20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="i1b6afed677b94d5abb27551c61b6b67b_D20190401-20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="i6b17abd2b3e94ab7a49d80940ff50b38_D20190401-20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="iec6366bd8fe14fbca4b924894f50683a_D20190401-20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="ieb094c2018b04ff0ac8fcaeeae033eaa_D20190401-20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-06-30</endDate>
        </period>
    </context>
    <context id="i3981207ba98d48a1abc8faed316d762d_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="ie9449ed92dbf4602b720c254b943e864_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="id4cf192096c140759f7c8979477c13bc_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="i3b2e96a9bdec47c4ba74fc4e962177b4_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="ib4740ee396154d6f828372323537ac2c_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="ib02f32b92b244dabb42eea37ee1600a7_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="i788f0be2775a4dd4ada56a253519639b_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="i6cb46253240041cf82eb6c1a6056b6b5_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i91bae8755839439cb6492c704af68c46_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i9afa0505ac12443c9c97f1ef741b23f9_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="ica6bd560e55547d685267cb24b3c78b8_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i07dfa2dadb184a8a8d442927731df736_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i69515e89c5de4427a757e77356721896_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i968889a1638442b5a10bb77884e70110_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i8191e590bf344d9b8630d7248b919874_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i6992721a0f734322b9462d44eaf955f1_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i5a5059c8b65b4ba6b2867eea9fb8237b_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i6aa2c75da7144648a2de9f6bb53bfb65_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i8a21e822078b4c06ae3107153ddf95d7_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i4b03a220eb2143719e4581e0239309fc_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:RealEstateSoftwareSolutionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:RevenueFromContractWithCustomerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:ProductConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i432b681290ef4cfeb1b81cef959620ab_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-09-30</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ibcf730ec50d6435d951b69e41610cbe2_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i8120fde26b2d4224bec180ccfa4706fb_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="id62c59795a524e75b11f84d78b0965a7_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="ib507d0ec2b4b40d6aa6b9ea04935aa8c_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="id9530fc7b22444eba83d12548968b096_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="ica21c79ba0c24dcbade45b01733a7ba6_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="iccf65c08b5b44770b25ecbc81ccae81d_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i6c851874a4ee4cf4adafd572f4f4b7e0_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i6707b27a5f954e93ba4246c157042cd4_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i3dc5ca77bdac4f36aca6dd656dffde22_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i8d6d474e54dd4a74b090201cfbeefce8_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i86ee55dc6df043d59817556044870a40_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i4cd40ae64a6a4d69b4bc9b4c1c067705_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i52fe21ee68cc475e82a94cc7c9a21cec_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i4c5d91e4f4f04f888158609690347d5b_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="i51b458cbdd8d46a4b5ce484c6eb79171_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="i986d5512128540caa4dfa36880960fd4_I20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-01-07</instant>
        </period>
    </context>
    <context id="ifc0d322d6c3247e0b0543820bd0f4929_D20190107-20190107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">appf:DynastyMarketplaceInc.Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-07</startDate>
            <endDate>2019-01-07</endDate>
        </period>
    </context>
    <context id="ia7229a937b4145a4b7421261365953f2_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="if21b35f02331481b9164622f429914a3_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ia79414ec96a6497b88ea17d9b5a7a767_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i0428fcb57b1d4e529b2a6edd0dad6c37_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i157cd45ffae04c7db410b034c13765ae_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i7bc2b3e5e9a44a52b5ff769e1999b4b2_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i6645c96915e246c3bfce4705a2875ba9_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="id04e528cac0844319db149aa4b9b9c02_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i8ff0a5e78f06487a89ebe432a9bc7d48_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i1373288fc06d4fe58d50978850f97749_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="ic3e60a0ad5e8468dad87d89a0ae81d58_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i8072d4eb60044ef4a85c9fd36188a358_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i6b8ab037ec004d549a493056c7d0dc16_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i2484f6502e0b468a973f1e6ceb56ec0e_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="if7c3fa55c21a47f5a9cec6b498688cc9_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="iadcc3ad155de4922821dbb1abea18144_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i4f390d68182d4646ba643477ff3026b0_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i2eabef5f49c14a27b0e984db4734b2f1_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i40c93766026c44308c9c5754f7224a89_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i81d9645758a9459d9c6b3ed84cba95b2_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i3a3458e8f11f40fe945f2a73e48b22f7_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i0a6fd11afac04f279ed07434d7ba4fbe_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i2f1f511ae07a4af983e5c3cbabb27bc9_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i3ed2089da0754b67a0175e0c1b7a7857_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i1daeae3017774f999dc7955ba0678c4d_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ic56914634386476f9ca5c2f877e69363_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i0779d69c3182482bb93fe2e273fe84c1_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i36182e78846544da8745574e64fa6ed4_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i42c9485a04434fec97916bf9d3f60b7f_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i5459125bf93e4984a4caa35385055aa7_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i5867cc15a9804241b9bb8412fef2111e_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="id4c74dd688ea462b900c7731d0ed84ee_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="idf0705c330914ea3a0bddd0fe725f45f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4098c3f123ce4c90b7c8b6e933f8fc18_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4e4cef4d596e4f55a1b95ba1ebf043c4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i967f7661527047e7b95e956249d487a3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4dcc1a0c2d47445185eeea359c37e48b_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4fa14f84010843efb9bb73093d26be08_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i93fbe716c1e24809b3735b78684848d3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i461372ce2970412491b94f058df0b8ef_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ibde052b08d16437980b96d55f45cb89e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i0e32845cc8494af7a98949b50df0bbf4_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i983404f0f37e4fada2193478c7101bda_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:AgencySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ic0b4c9791a57459795459eafed60b50d_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3b9823912d00405a941a12a697e7dccd_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ic84c546d54f9482d8265e47598d01875_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib7a2f499fa3548bfba58becef1b44a1e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i20a143c366b048b9bce03b87d3415895_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="id262dd191635457c82211fda035d0f72_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementBasisAxis">us-gaap:EstimateOfFairValueFairValueDisclosureMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="iff754fc11fe742e792713fa3792f8e08_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ibd948b105c9f43889b3c780f3f76f8c6_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i8eed7c8882f44682a6cd1935cd7ac8a6_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i6639b9e6e6ce4443abedcab73c05a2b4_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ie91480e5cf20497ab558ec2a372f84d6_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i631d3374c6914aa68069d357ca44f811_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ic784fab99c9d4358a4dc70f1ee3c82f6_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i7a1f206303494c31945bd708dc0b8ce0_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i98c23ebc7ddc4c1c84ead6a8680f854f_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ifc475fa97c05441faa5e1889baf133cc_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i93814ca022dc4737b026baf5190f9ecb_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i103a77c3d69347c88a6e2d397c88a4ca_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="iac440c8a4fd3414699a7770a9adc08bc_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="if030437415a64cb3bfe5de86003d2978_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i20ac6edd77d34153806d265648398244_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i63d8b962f5564ab7ad7c575c0efbfe26_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i6c77c68a356441268a7e4273cb35c0c9_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ib40585036ad74dc497cee463a1c1c400_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iff8256703e6c4179b2e991e294aceda0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i45098f91718b4cdeb1514e16bb8a1268_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4b9ae9d8d97b4b12a65a7ba3c4a828b9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:DatabaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib9c04c985869408a91ba41460afe1fc5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iaedae3132b4a4762be98d08bfc6d4c80_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:TechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia042108f16444a28a7de006cb323d830_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5812cd925e9541058663e6c5afddf7fc_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i17e3369e86f6421bb9575ad47e7ba82c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i511bfe9599e1494c90b92a29bc1fc7f9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">appf:PartnerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if2d4a3a7bb924ae1ba78ce0f48f4dc8a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i8c8ecd9257d24040810980df65919a95_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i7d0b95bb7d8e4baf91be0d970ef5f67b_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib92a4e897cad48169c68708d0dd13def_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:InternetDomainNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i58a5f537a9d8476893293ea8b9cafc20_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie985e6f90af0453da2c44a5ee9c95db0_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i60730654c0154641a3c60276742a3e8d_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i317eb0e4982e4396a8e0f43d6c5b0425_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OrderOrProductionBacklogMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0c69eefffbaa4a078a778549824aaeba_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:WeightedAverageMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i1ff8af13d2b64a609ae5e69be98e0478_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ic925e6074afe46ebbfad1f62c8db3427_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="iba3d65a5950b4faca63c7f470a5ea74e_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="icc578e83b8ea4ce28a4a3944503d24dd_I20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-24</instant>
        </period>
    </context>
    <context id="ia44fda020dd44c7fb5fa4c9a56e94008_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="ic948c94d0d314613b48e39543bb5a749_I20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-24</instant>
        </period>
    </context>
    <context id="i1894b8e256cb484fb1d1c27d53f59219_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="i5e893c930b97418dbd6de470d66329bf_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="i503e1ba766a34c68bd9dab19a89add6e_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="i27dc9e7ecffd4117a438e1026ab56c8c_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="i542f8b4829064accb6098a26327f94f4_D20181224-20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-12-24</startDate>
            <endDate>2018-12-24</endDate>
        </period>
    </context>
    <context id="idd10bf399b70448d8467cef6057216d6_I20200929">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-29</instant>
        </period>
    </context>
    <context id="i4ff17b0e1c4c4003b28db5ac6002f2c9_I20200929">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-29</instant>
        </period>
    </context>
    <context id="if565dd9ce3d440529b1aa3f3aba55b37_I20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2018-12-24</instant>
        </period>
    </context>
    <context id="iafc91a1328ec43a3860025a3341cd83e_I20181224">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-24</instant>
        </period>
    </context>
    <context id="i9519ee1abaa14f0788ec27fade86d433_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib5f9e6cc90e944c8a99f5ace1393eedf_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i26fd59f3191246fba4832d5688b8674e_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i7810206e7501429e85e559313b6b3d09_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ib4b081d76f5e4bd19e99026200574511_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i93b5f1def34e4e2a91c3bfb92cd1d459_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i7a3f6501e3544a1b8c61d2d576858379_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie74b02112cad48738cef7202ae25a9a1_I20190220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <instant>2019-02-20</instant>
        </period>
    </context>
    <context id="i74018a6bb2704270b46ba2971d54620a_D20190220-20190220">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
        </entity>
        <period>
            <startDate>2019-02-20</startDate>
            <endDate>2019-02-20</endDate>
        </period>
    </context>
    <context id="i70eabbfb58fe435bba91961aa5807cfd_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i5c285e4316114a15a0417537ceaed371_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i97469cf93d66415093f9bf3c5bac3a77_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i6db43f273c4d4f3998fc6cb4072f1103_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2017PerformanceMetricTargetedFreeCashFlowPerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i14f7d7c51d4345b2a65f8f8002d96b05_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ib3eded853cba49a39065c7d3884619d1_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i0c309a6f87c548c7bc0f5413990b3d9b_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i68f7027b9fbf486ab6099297483fce64_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i0ee13003dcce4dc6942a6f1a0a6ff23b_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="iff43fb9f687d45a9b42b308a9ca0be26_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ibda73fe4b10c438f9a93a6a8c146b87e_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i6f3f8865b9264f2d909867828edef103_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ie7964820f341486d94cb27d2a95fabd4_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i636e9d881d0f4334a86ccbc4a2a476b9_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i5179ada9726d4a68843ffef85c0f81fb_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i48471c4576504bb3b747b9b261be1bce_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">appf:A2016PerformanceMetricMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i58012cce04624a81b6b95a33f81901d6_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i35265d61fd3142709486d174c9d7be62_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i2c7b86471e94487d9b8002b25d325f9d_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i3eac799f77af460dbe800045b364daac_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i424369774d00452c9bd55713bc6044d7_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheTwoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i9a4243e297d549058944feffe0e80101_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheThreeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i43f85530cb004402a07b293c10c65d67_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i55c7a0fe804149a7a0582b590ffb2c66_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i22d5b4bf562e4549ab63eb79c17af0b5_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="id4784200dc5a4f9db3db610b6cb7529e_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="if28e7eab3bce49aaa59219fccac19a90_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VestingAxis">us-gaap:ShareBasedCompensationAwardTrancheOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i201fa7eeea524a31aca9f6af9ce98df6_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i718f16ece4eb4f1daf775c11394ba26a_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:PerformanceStockUnitsGrantedin2019and2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i71c80e44c373427687d1009911fdbfe3_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i87575cf3fe194d6e83f6657a21c8e808_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="idb09534b787d4d4b872c134d5ccadac9_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">appf:RestrictedStockUnitsAndPerformanceStockUnitsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i35a46e7ee0a34d63ba82ae0426aa5195_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ia62fc528449a45b7b323b361f5fc6b5b_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i16f55b22809c4126a9264a2190edbf27_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="id8cc2b005bab4c54b416317281c27352_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i4a7f72bdca7743929513bba7794ca47e_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i7a8f7a2424e94970a701d9f1af655305_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DisposalGroupClassificationAxis">us-gaap:DiscontinuedOperationsDisposedOfBySaleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis">appf:MyCaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ice688e845bc2444b9b67daaa4be90559_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i9f2d6fb7ff1d40cb90cb370d43d32d4d_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="iabff6279249d4e398178ffecc9b59cb9_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i9ef4538ca20540a2bd3500502ca79d87_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:CoreSolutionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i25039c835b9d41fb9d6ae4617369aa63_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="ieacd2ea6f4c94ab09cc54fe4040dc049_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="ifa6c83377c88457591bb2acdaa848175_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="id18bc13a42c64e6591f8900d6ebc2a5b_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:ValuePlusServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i1894f4e1fafb42899c64e60d346cca04_D20200701-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i42df08c66e91438db4b1d521de8740cf_D20190701-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-07-01</startDate>
            <endDate>2019-09-30</endDate>
        </period>
    </context>
    <context id="i5bff4803b74548d584121b73b838b86b_D20200101-20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-09-30</endDate>
        </period>
    </context>
    <context id="i92f018aeac7b4f8f901f724eabb938ae_D20190101-20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001433195</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appf:OtherServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-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="director">
        <measure>appf:director</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80L2ZyYWc6ZTNlYzI1ZDU3ODIwNDI4OGI0Y2ZhNzI4ZDI3ZDY3ODIvdGFibGU6ZTM0YjU5MThkNmFiNDU1NDkzZDM4N2MyYmRlZWRlYmEvdGFibGVyYW5nZTplMzRiNTkxOGQ2YWI0NTU0OTNkMzg3YzJiZGVlZGViYV8yLTEtMS0xLTA_b3c49553-f1bb-4996-aae6-b1d7fee0ada0">0001433195</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80L2ZyYWc6ZTNlYzI1ZDU3ODIwNDI4OGI0Y2ZhNzI4ZDI3ZDY3ODIvdGFibGU6ZTM0YjU5MThkNmFiNDU1NDkzZDM4N2MyYmRlZWRlYmEvdGFibGVyYW5nZTplMzRiNTkxOGQ2YWI0NTU0OTNkMzg3YzJiZGVlZGViYV8zLTEtMS0xLTA_e03d0a8a-4ee9-4d79-9992-bae036e190ba">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80L2ZyYWc6ZTNlYzI1ZDU3ODIwNDI4OGI0Y2ZhNzI4ZDI3ZDY3ODIvdGFibGU6ZTM0YjU5MThkNmFiNDU1NDkzZDM4N2MyYmRlZWRlYmEvdGFibGVyYW5nZTplMzRiNTkxOGQ2YWI0NTU0OTNkMzg3YzJiZGVlZGViYV83LTEtMS0xLTA_045d844e-aba9-4435-8477-4b9610af15d1">2020</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80L2ZyYWc6ZTNlYzI1ZDU3ODIwNDI4OGI0Y2ZhNzI4ZDI3ZDY3ODIvdGFibGU6ZTM0YjU5MThkNmFiNDU1NDkzZDM4N2MyYmRlZWRlYmEvdGFibGVyYW5nZTplMzRiNTkxOGQ2YWI0NTU0OTNkMzg3YzJiZGVlZGViYV84LTEtMS0xLTA_652f3f02-46ea-4762-9a3a-6c1d282f7a3f">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80L2ZyYWc6ZTNlYzI1ZDU3ODIwNDI4OGI0Y2ZhNzI4ZDI3ZDY3ODIvdGFibGU6ZTM0YjU5MThkNmFiNDU1NDkzZDM4N2MyYmRlZWRlYmEvdGFibGVyYW5nZTplMzRiNTkxOGQ2YWI0NTU0OTNkMzg3YzJiZGVlZGViYV85LTEtMS0xLTA_21e7c247-60a8-456c-b1ec-34177e72b44c">false</dei:AmendmentFlag>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfOC0xLTEtMS0w_3b4ec99a-0ce8-40c7-8ccd-11f4c6e22596"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfOC0yLTEtMS0w_4fe0cf93-0e30-4727-b842-d545148c2aa1"
      unitRef="usdPerShare">0.0001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfOS0xLTEtMS0w_28ce023e-2f83-4790-9317-87a96cd91bf9"
      unitRef="shares">25000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfOS0yLTEtMS0w_2b04352b-0c7c-4ab9-a96f-083c64760fe0"
      unitRef="shares">25000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTAtMS0xLTEtMA_1dead786-6f8f-4060-8073-a73494f31660"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTAtMi0xLTEtMA_5db3280b-0b6a-4307-b0df-826791bd7fef"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTEtMS0xLTEtMA_df5dee70-0894-4c1b-8cd3-079943f02e0e"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTEtMi0xLTEtMA_7c9630e1-9e41-46d3-b62d-e309b79d8ff3"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i2aa34bac44324f1ab8003b896d211a49_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTMtMS0xLTEtMA_baf829f6-2394-4c16-81b2-394bfea47b7a"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i4ad01f4eab034604858e24ebb4303bed_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTMtMi0xLTEtMA_bfd2e60a-5663-4f46-8f65-a0415f03e862"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i2aa34bac44324f1ab8003b896d211a49_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTQtMS0xLTEtMA_fe73b72a-fb33-4274-bbfc-b681410efc19"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i4ad01f4eab034604858e24ebb4303bed_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTQtMi0xLTEtMA_504f8b11-900a-46fc-a249-80e6bcd17c13"
      unitRef="shares">250000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i2aa34bac44324f1ab8003b896d211a49_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTUtMS0xLTEtMA_aaf84d08-f136-402c-8915-97d7eba8eeea"
      unitRef="shares">18450000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i4ad01f4eab034604858e24ebb4303bed_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTUtMi0xLTEtMA_18b9aa08-025d-4f93-a89b-ec932a4f3edb"
      unitRef="shares">16923000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i2aa34bac44324f1ab8003b896d211a49_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTYtMS0xLTEtMA_da29f7e3-965a-4861-b3ac-d908d5dba414"
      unitRef="shares">18031000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4ad01f4eab034604858e24ebb4303bed_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTYtMi0xLTEtMA_98db718a-b5a3-40eb-878a-520e88756380"
      unitRef="shares">16552000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="iaf7a55617ca0401a9a8d002b04c62cf2_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTgtMS0xLTEtMA_00b676dd-c10f-4b91-9ecc-958217c511d5"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i69c0434981bd4ed5bd48696bc9108595_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTgtMi0xLTEtMA_df7a0227-1b3e-4e29-9322-97ef2726cb6a"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="iaf7a55617ca0401a9a8d002b04c62cf2_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTktMS0xLTEtMA_536ba3e7-2dd7-4c59-9798-4505406e1463"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i69c0434981bd4ed5bd48696bc9108595_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMTktMi0xLTEtMA_f61ceeaf-698f-4283-9756-f7340e76e51d"
      unitRef="shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="iaf7a55617ca0401a9a8d002b04c62cf2_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMjAtMS0xLTEtMA_9ce5652a-ba89-4f94-b93b-0df9fe9321bd"
      unitRef="shares">16282000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i69c0434981bd4ed5bd48696bc9108595_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMjAtMi0xLTEtMA_eb0b9f51-d9e5-4049-9aa5-e95f2b3d3709"
      unitRef="shares">17594000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="iaf7a55617ca0401a9a8d002b04c62cf2_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMjEtMS0xLTEtMA_7e8d64b0-0f9c-4f8d-a291-bd7011d16302"
      unitRef="shares">16282000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i69c0434981bd4ed5bd48696bc9108595_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMjEtMi0xLTEtMA_ef2bb19b-72a0-47b7-8f11-6f110a96dab6"
      unitRef="shares">17594000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:TreasuryStockShares
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMjMtMS0xLTEtMA_7721971d-9049-484e-888a-7a7a6f6d1237"
      unitRef="shares">419000</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xOS9mcmFnOjFiYjNkOTBmNmNhZTRkMTZhNTYyZGI5YzUwNGE5ZDRjL3RhYmxlOjM2OWI5ZDQwMzY5YjQ2NjQ5NWIwYWY5ZDRkZmRmMWQ4L3RhYmxlcmFuZ2U6MzY5YjlkNDAzNjliNDY2NDk1YjBhZjlkNGRmZGYxZDhfMjMtMi0xLTEtMA_1c4ae1d4-20f4-48d3-b225-14dd58802e8c"
      unitRef="shares">371000</us-gaap:TreasuryStockShares>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i1ff8af13d2b64a609ae5e69be98e0478_I20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMTM2_4a2ccfe0-7d19-412b-835a-4cdca891c283">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <dei:DocumentType
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzM3_26dc95f2-c7e5-45b5-aec3-af7497eb757f">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzMx_d543a37b-b350-439f-9a1e-deca9e2b82cd">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzE_d2f17167-2c40-401a-a68c-190e259c1805">2020-09-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzM4_26a3fa80-623b-47a7-b8cf-5b57fe440149">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzMy_15977c3a-4097-429f-8e44-6e2cf59e418b">001-37468</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzMz_65c1a1ab-2db4-465f-8029-6c64112f2303">AppFolio, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6YjIzNWQwOWNjZmRjNDNlZjgyZTIxYzhlMjY4MmRkZWEvdGFibGVyYW5nZTpiMjM1ZDA5Y2NmZGM0M2VmODJlMjFjOGUyNjgyZGRlYV8wLTAtMS0xLTA_31e2030c-523f-4fe6-896d-473a5a40e382">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6YjIzNWQwOWNjZmRjNDNlZjgyZTIxYzhlMjY4MmRkZWEvdGFibGVyYW5nZTpiMjM1ZDA5Y2NmZGM0M2VmODJlMjFjOGUyNjgyZGRlYV8wLTQtMS0xLTA_4defc96a-ea93-4996-a09f-197b17f029f6">26-0359894</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6YjIzNWQwOWNjZmRjNDNlZjgyZTIxYzhlMjY4MmRkZWEvdGFibGVyYW5nZTpiMjM1ZDA5Y2NmZGM0M2VmODJlMjFjOGUyNjgyZGRlYV8zLTAtMS0xLTA_642de281-2a78-4b43-a7dc-91e5555b6813">50 Castilian Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressPostalZipCode
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6YjIzNWQwOWNjZmRjNDNlZjgyZTIxYzhlMjY4MmRkZWEvdGFibGVyYW5nZTpiMjM1ZDA5Y2NmZGM0M2VmODJlMjFjOGUyNjgyZGRlYV8zLTQtMS0xLTA_8de7a722-23ea-4d15-8aae-abe3a0606c94">93117</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressCityOrTown
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6YjIzNWQwOWNjZmRjNDNlZjgyZTIxYzhlMjY4MmRkZWEvdGFibGVyYW5nZTpiMjM1ZDA5Y2NmZGM0M2VmODJlMjFjOGUyNjgyZGRlYV80LTAtMS0xLTA_f6b921e8-5e1d-46b8-93d8-40f05cd7649d">Santa Barbara,</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6YjIzNWQwOWNjZmRjNDNlZjgyZTIxYzhlMjY4MmRkZWEvdGFibGVyYW5nZTpiMjM1ZDA5Y2NmZGM0M2VmODJlMjFjOGUyNjgyZGRlYV80LTItMS0xLTA_81c5d88e-664c-4e11-9fee-78cecc80fb95">CA</dei:EntityAddressStateOrProvince>
    <dei:CityAreaCode
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzM5_ebe6dd73-ecbf-46bf-9219-8ed255153b61">805</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzQw_3f3823c8-0d65-4df9-9e23-9c196a87ed07">364-6093</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6Mjg3OTQ0Y2Q4NTYwNDhmNjg0NjkzNDkxMjAxN2QzYjkvdGFibGVyYW5nZToyODc5NDRjZDg1NjA0OGY2ODQ2OTM0OTEyMDE3ZDNiOV8xLTAtMS0xLTI4NzA_b8b44c9d-09c4-483e-8ecb-548e192d314a">Class A Common Stock, $0.0001 par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6Mjg3OTQ0Y2Q4NTYwNDhmNjg0NjkzNDkxMjAxN2QzYjkvdGFibGVyYW5nZToyODc5NDRjZDg1NjA0OGY2ODQ2OTM0OTEyMDE3ZDNiOV8xLTEtMS0xLTI4NzA_1fd36e99-2219-42b7-9c98-1e0f5eb72e96">APPF</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6Mjg3OTQ0Y2Q4NTYwNDhmNjg0NjkzNDkxMjAxN2QzYjkvdGFibGVyYW5nZToyODc5NDRjZDg1NjA0OGY2ODQ2OTM0OTEyMDE3ZDNiOV8xLTItMS0xLTI4NzA_90b9d4e2-f75d-451a-83ec-ea2bea818e4f">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzM0_aa692d28-8b7a-4012-a1b5-a165769a350f">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzM1_c5ac727f-1f2a-4712-b877-ed2fa3d55f62">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6NzRmYzdkNmRiZTFjNDg1Njk1YjZkYmI0N2Y0YzA1ZmMvdGFibGVyYW5nZTo3NGZjN2Q2ZGJlMWM0ODU2OTViNmRiYjQ3ZjRjMDVmY18wLTAtMS0xLTA_229b63a0-5d65-4bb6-b869-7005085bca06">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6NzRmYzdkNmRiZTFjNDg1Njk1YjZkYmI0N2Y0YzA1ZmMvdGFibGVyYW5nZTo3NGZjN2Q2ZGJlMWM0ODU2OTViNmRiYjQ3ZjRjMDVmY18yLTUtMS0xLTA_59c6f2c4-2432-4500-83bc-cd06999b78b0">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGFibGU6NzRmYzdkNmRiZTFjNDg1Njk1YjZkYmI0N2Y0YzA1ZmMvdGFibGVyYW5nZTo3NGZjN2Q2ZGJlMWM0ODU2OTViNmRiYjQ3ZjRjMDVmY180LTUtMS0xLTA_1049cc71-9a12-4a9e-a86d-172b596eafcd">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzM2_6a06e08f-45a5-4930-9c1d-7f22b8c8da98">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="icfb6422cfdc2422da59124b859b32411_I20201102"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMjQ0_4fcb16ed-030d-4929-be5f-e5ceb4ab961c"
      unitRef="shares">18098284</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ia81c3dfabc7d4fe2a1334ae3b5dc6a56_I20201102"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xL2ZyYWc6NmVhYjA4OTliMWJiNGYwYzlmYzNhMjU4ZWVkNzE2NzMvdGV4dHJlZ2lvbjo2ZWFiMDg5OWIxYmI0ZjBjOWZjM2EyNThlZWQ3MTY3M18yMzI5_889cda33-1e0f-486d-ab94-b292bbd88a5e"
      unitRef="shares">16229904</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMy0yLTEtMS0w_c3945f7b-f191-42fc-9a55-700e24f813af"
      unitRef="usd">144028000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMy00LTEtMS0w_bf6d1b5c-d883-45ec-a872-942c190be2ea"
      unitRef="usd">15813000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNC0yLTEtMS0w_5b48aaab-36c1-4eb0-8c53-d2ffc0dec0d9"
      unitRef="usd">32689000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNC00LTEtMS0w_33675e4b-61fb-4026-ac1d-3d6a1233ec56"
      unitRef="usd">22876000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNS0yLTEtMS0w_97ea3d8c-edf0-44ef-8ad7-9419f123b1c5"
      unitRef="usd">9416000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNS00LTEtMS0w_32a41534-a4f8-4d62-9114-e1ec370d0514"
      unitRef="usd">7562000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNi0yLTEtMS0w_09d370de-c2fa-413c-97f3-d30087a93857"
      unitRef="usd">15720000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNi00LTEtMS0w_653ae52c-91f1-4f30-9e9c-b4499f285f64"
      unitRef="usd">15540000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNy0yLTEtMS0w_bddcf356-7fd0-48e0-acd9-77188ea487b9"
      unitRef="usd">201853000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNy00LTEtMS0w_61e669fb-5cd9-4dd7-a51c-64b72553e628"
      unitRef="usd">61791000</us-gaap:AssetsCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfOC0yLTEtMS0w_ffa24d2b-affa-4740-9d8e-30a0fa5973ab"
      unitRef="usd">5135000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfOC00LTEtMS0w_502b960a-9002-4bc7-819d-c36e6805ab24"
      unitRef="usd">12089000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfOS0yLTEtMS0w_e6035cef-3f14-419e-8ea2-67019b5a9849"
      unitRef="usd">26565000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfOS00LTEtMS0w_d000757f-b71d-4769-aaff-2c4926a99947"
      unitRef="usd">14744000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTAtMi0xLTEtMA_fac93633-d99f-443e-9f64-035162b2eef4"
      unitRef="usd">24645000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTAtNC0xLTEtMA_0cdf8f2f-48e8-43d0-b9e8-ac31b66f07f1"
      unitRef="usd">27803000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTEtMi0xLTEtMA_cd02f058-b26a-49ec-8371-64a78410b697"
      unitRef="usd">33543000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTEtNC0xLTEtMA_46444a91-4f27-40f1-84a6-f807a0ef867f"
      unitRef="usd">30023000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:Goodwill
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTItMi0xLTEtMA_3011526f-1173-4f4e-b015-c90e81dca873"
      unitRef="usd">56147000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTItNC0xLTEtMA_c29b5bc3-9e10-4aa0-a6bc-09f115baa100"
      unitRef="usd">58425000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTMtMi0xLTEtMA_16b514d6-4f36-4a09-9aca-8aae8cdc9487"
      unitRef="usd">17544000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTMtNC0xLTEtMA_43cfe60e-7fae-47bd-8f71-935f1a0e3ee3"
      unitRef="usd">21377000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTQtMi0xLTEtMA_649b3d1c-d93c-47d8-9984-5d9371e5fe6b"
      unitRef="usd">14826000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTQtNC0xLTEtMA_86db2e66-a76a-422d-8e1d-396ebe408722"
      unitRef="usd">27574000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTUtMi0xLTEtMA_6014cb77-60e5-4bec-a018-f72a02791ac9"
      unitRef="usd">6014000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTUtNC0xLTEtMA_33a9c6c2-e84d-43c8-83e5-0c7a74028212"
      unitRef="usd">6276000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTYtMi0xLTEtMA_7e573804-cce4-4568-ab47-dc810d2d4ad2"
      unitRef="usd">386272000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTYtNC0xLTEtMA_8d885e09-16ea-48d9-bff9-44951fd7dbe9"
      unitRef="usd">260102000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTktMi0xLTEtMA_921a2609-fd26-4430-8df7-83abdb00f96d"
      unitRef="usd">3591000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMTktNC0xLTEtMA_6ccc6c30-ef3b-4b4b-841f-8bbc23591001"
      unitRef="usd">1927000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjAtMi0xLTEtMA_0d7c7676-7619-41b9-bc2a-b253fe5c374e"
      unitRef="usd">18379000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjAtNC0xLTEtMA_6a46f446-7c06-4296-846b-98d7200edaba"
      unitRef="usd">17758000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjEtMi0xLTEtMA_ac4399ba-63a1-419c-8640-11d7fb0d97af"
      unitRef="usd">13546000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjEtNC0xLTEtMA_71e16957-fc34-402b-831a-b828a5dca4bc"
      unitRef="usd">10833000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjItMi0xLTEtMA_feceeca5-832c-4432-9257-cab8f9120ad2"
      unitRef="usd">2457000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjItNC0xLTEtMA_a53eeb44-6fc8-490a-9090-0ebdf77ced89"
      unitRef="usd">4586000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjMtMi0xLTEtMzEw_8760672c-7c6e-407e-9029-38d7d91d0897"
      unitRef="usd">13571000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjMtNC0xLTEtMzEw_cab54272-07e9-4c58-8f12-e4f092d2da6e"
      unitRef="usd">0</us-gaap:TaxesPayableCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjMtMi0xLTEtMA_dabf9db0-115a-4856-8948-17050a8133bb"
      unitRef="usd">4607000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjMtNC0xLTEtMA_b90e7330-378b-4255-8326-def4ea71b681"
      unitRef="usd">11139000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjQtMi0xLTEtMA_03924744-b7b5-4a5e-ae91-d611adf4ddb7"
      unitRef="usd">0</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjQtNC0xLTEtMA_9c41014f-6de6-4bba-856a-46fb15e792b3"
      unitRef="usd">1208000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjUtMi0xLTEtMA_e2f6abe4-c905-4602-a106-9075817c97dd"
      unitRef="usd">56151000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjUtNC0xLTEtMA_f7e2c8af-f4d7-4f06-943d-e0f0418b659e"
      unitRef="usd">47451000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjYtMi0xLTEtMA_5a2ecdc7-64fb-4b78-888a-84d44b455bda"
      unitRef="usd">32755000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjYtNC0xLTEtMA_28f55bb0-89b0-4f98-b842-dc2e1343fe52"
      unitRef="usd">33312000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:SecuredLongTermDebt
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjgtMi0xLTEtMA_2f41c079-98e9-4331-a5cc-bc9ca03aaaa2"
      unitRef="usd">0</us-gaap:SecuredLongTermDebt>
    <us-gaap:SecuredLongTermDebt
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMjgtNC0xLTEtMA_21a6703d-48f0-4403-b21b-9f1232e1f874"
      unitRef="usd">47375000</us-gaap:SecuredLongTermDebt>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzAtMi0xLTEtMjU4MQ_8182413e-a9b9-4ab6-9e86-8436ca34b2cc"
      unitRef="usd">10130000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzAtNC0xLTEtMjU4MQ_e4f135be-f3d4-4852-a5ff-623642d1f541"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzEtMi0xLTEtMjU5OQ_870fbc23-9aaf-47f3-b70a-f43ac413dcfc"
      unitRef="usd">2720000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzEtNC0xLTEtMjU5OQ_1f9d63ad-aa5e-4868-931f-50e9feb4a293"
      unitRef="usd">14000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzAtMi0xLTEtMA_894ee38f-e9bf-4d3f-993c-9fe2fe996b72"
      unitRef="usd">101756000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzAtNC0xLTEtMA_87553bc2-fd93-4863-8ee1-d5851597350f"
      unitRef="usd">128152000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzEtMi0xLTEtMA_2c0076c3-206f-465d-ba03-5d6e8de78bf8"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzEtNC0xLTEtMA_d9c80372-9f6d-4c3a-b18f-55eff0380cae"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzMtMi0xLTEtMA_4ad88860-f8d2-4cff-8311-bcd2252f1226"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzMtNC0xLTEtMA_4e6ea8f3-4e88-4edf-bfce-1856b571e4a7"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockValue
      contextRef="i2aa34bac44324f1ab8003b896d211a49_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzQtMi0xLTEtMA_d301ce9b-3877-42cc-af0b-6ce0d83c8132"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i4ad01f4eab034604858e24ebb4303bed_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzQtNC0xLTEtMA_1e972151-6927-4f38-9338-047052f6bdd7"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="iaf7a55617ca0401a9a8d002b04c62cf2_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzUtMi0xLTEtMA_17698844-a7ad-490f-8654-aa276d0d1543"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i69c0434981bd4ed5bd48696bc9108595_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzUtNC0xLTEtMA_41b7c328-37a9-4b06-a331-c7a5ea24ec2e"
      unitRef="usd">2000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzYtMi0xLTEtMA_49ac133e-6dad-4c88-b39f-b641acf111d3"
      unitRef="usd">159296000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzYtNC0xLTEtMA_ebf46b90-aa71-43b6-b1fb-5e7c91c0addd"
      unitRef="usd">161509000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzctMi0xLTEtMA_b443cbe7-7833-4464-b361-1b51ba313b5f"
      unitRef="usd">90000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzctNC0xLTEtMA_709d9067-1d9e-4f90-a9b3-0ae23d5ee7c5"
      unitRef="usd">33000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockValue
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzgtMi0xLTEtMA_8130fb4b-b979-4cb2-abcc-45b3e9e74b41"
      unitRef="usd">25756000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzgtNC0xLTEtMA_ad7b2f97-a852-4ce1-855c-913708128472"
      unitRef="usd">21562000</us-gaap:TreasuryStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzktMi0xLTEtMA_9f681c46-07ab-4eee-b7f8-1ad128aee0c3"
      unitRef="usd">150882000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfMzktNC0xLTEtMA_a3686979-3655-4254-ac9b-0c61d5123409"
      unitRef="usd">-8034000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNDAtMi0xLTEtMA_31084c97-b8f6-4715-88fa-3c7908fbb2e0"
      unitRef="usd">284516000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNDAtNC0xLTEtMA_000a2a9e-6139-4af6-b0ed-7251f4f6f515"
      unitRef="usd">131950000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNDEtMi0xLTEtMA_a902124f-8bec-4ad2-8daf-54977890101e"
      unitRef="usd">386272000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8xNi9mcmFnOjRhNjk2ZGU5NTFlZTQ4OTc5MDFkNzI4MmMyYWMwY2NiL3RhYmxlOjczYmRjNzVlYTYxYTQwNTJhOTllNTJiZGM0YjA4ZDE1L3RhYmxlcmFuZ2U6NzNiZGM3NWVhNjFhNDA1MmE5OWU1MmJkYzRiMDhkMTVfNDEtNC0xLTEtMA_587b4b9e-6068-43c0-8a3a-35809ac973af"
      unitRef="usd">260102000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMi0xLTEtMS0w_8351e9e7-c151-4892-84fd-19809dfafbbc"
      unitRef="usd">84086000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMi0zLTEtMS0w_cede6b80-1150-4ccd-856c-a3991e152433"
      unitRef="usd">67935000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMi01LTEtMS0w_34a21cc8-e9ab-408b-a1b7-778e3b4be239"
      unitRef="usd">237624000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMi03LTEtMS0w_6283ceb7-4adb-492c-9522-f5c1384f567d"
      unitRef="usd">188650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNC0xLTEtMS0w_8fbdac30-0d6e-4291-b06b-a20a90556a70"
      unitRef="usd">32752000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNC0zLTEtMS0w_37262f3a-0007-4edf-94e0-02261db01d2c"
      unitRef="usd">25930000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNC01LTEtMS0w_f02b85a5-68f6-49f9-98c2-4bfbf9a14077"
      unitRef="usd">89124000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNC03LTEtMS0w_d63ad6a4-f975-4f39-9bd2-b3f5b2c553ed"
      unitRef="usd">75239000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNS0xLTEtMS0w_150fc3bc-7ce9-430d-b972-c9dcad5b6550"
      unitRef="usd">14894000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNS0zLTEtMS0w_d49e1927-e9a1-4925-bcbd-f91001b395dc"
      unitRef="usd">12636000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNS01LTEtMS0w_5582dd20-e4ed-46d0-b78d-e0443c3d8231"
      unitRef="usd">43117000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNS03LTEtMS0w_ff899594-c894-4ce8-be3d-5234b12a7009"
      unitRef="usd">37087000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNi0xLTEtMS0w_00805e58-b6db-4f0c-9a9b-ae7e36aa797f"
      unitRef="usd">13454000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNi0zLTEtMS0w_0346866f-24d6-411e-acf9-572541254f8d"
      unitRef="usd">10602000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNi01LTEtMS0w_c90e5595-e85e-4f66-b73c-087ae9d0d267"
      unitRef="usd">36794000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNi03LTEtMS0w_b9e2deba-9be8-4c76-8629-3c869d797f90"
      unitRef="usd">28422000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNy0xLTEtMS0w_3471c7f3-f690-4864-a6dd-4e2cda8b8f8f"
      unitRef="usd">12946000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNy0zLTEtMS0w_79d88c0c-2310-48d1-9406-ef298d279539"
      unitRef="usd">8955000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNy01LTEtMS0w_8313b5dd-7d8d-4877-a491-de123367ca9f"
      unitRef="usd">36303000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfNy03LTEtMS0w_b7aa5337-1888-43a2-bf5a-3e966d0f4a41"
      unitRef="usd">25361000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfOC0xLTEtMS0w_b50ec3db-91ce-4cf2-8c35-138d70209d42"
      unitRef="usd">6680000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfOC0zLTEtMS0w_6bdccf4b-ce40-4a12-a374-d860e2e44210"
      unitRef="usd">5678000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfOC01LTEtMS0w_5cdb0f18-b299-433f-94e2-8522b9d5f647"
      unitRef="usd">19751000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfOC03LTEtMS0w_9eae03b2-e419-4985-a475-a90642aa4df2"
      unitRef="usd">16169000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:CostsAndExpenses
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfOS0xLTEtMS0w_9f4fec1c-a68a-4ac9-8b6b-54c014407374"
      unitRef="usd">80726000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfOS0zLTEtMS0w_b970b767-d271-4ca6-81b0-c5498057fbc6"
      unitRef="usd">63801000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfOS01LTEtMS0w_abe1928a-8a7c-40b3-8af0-50706d06fa44"
      unitRef="usd">225089000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfOS03LTEtMS0w_9fc66144-0736-4d1b-a4e1-af37eaa7622f"
      unitRef="usd">182278000</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTAtMS0xLTEtMA_479fa0f6-e62d-4374-825c-8aa07253775a"
      unitRef="usd">3360000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTAtMy0xLTEtMA_f4494ee3-3f86-4048-89cc-f926f0b4cee3"
      unitRef="usd">4134000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTAtNS0xLTEtMA_ca75040c-105d-4ba9-9af4-9abb119488d8"
      unitRef="usd">12535000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTAtNy0xLTEtMA_d6e70f46-3650-4428-8922-05af6166f71b"
      unitRef="usd">6372000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTEtMS0xLTEtMA_75b465d2-f8e9-476f-8253-5199fc47ce06"
      unitRef="usd">187747000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTEtMy0xLTEtMA_cc39a14d-1b87-4883-937f-5d7084158c2e"
      unitRef="usd">-11000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTEtNS0xLTEtMA_3315bef8-3bd1-4f3f-af07-7cf3ec923d84"
      unitRef="usd">187759000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTEtNy0xLTEtMA_d35438df-840d-479f-b075-b7db6df5389b"
      unitRef="usd">-68000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTItMS0xLTEtMA_23da5f9d-0c0e-4064-9758-636b89dc080e"
      unitRef="usd">-853000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTItMy0xLTEtMA_7ee2df96-4b2a-4579-8dd7-bb0dbacc12b1"
      unitRef="usd">-400000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTItNS0xLTEtMA_5f2d8b67-cb83-4bbe-b2cf-c4340d64e31d"
      unitRef="usd">-1909000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTItNy0xLTEtMA_90c90e21-4ac3-4fd7-a713-89fc04cd7744"
      unitRef="usd">-1324000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTMtMS0xLTEtMA_82a056fc-da69-4237-93a7-8a3bb9ccf092"
      unitRef="usd">190254000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTMtMy0xLTEtMA_d9d931af-7db1-429e-8430-d2b1082a1e52"
      unitRef="usd">3723000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTMtNS0xLTEtMA_e03ba61d-427b-4560-a316-be96d3879a8f"
      unitRef="usd">198385000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTMtNy0xLTEtMA_36c047bb-9d93-4420-822c-4d899b65868d"
      unitRef="usd">4980000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTQtMS0xLTEtMA_20a179c8-658b-4775-a578-08d3c420a5e2"
      unitRef="usd">52578000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTQtMy0xLTEtMA_8836eb3c-1182-4260-a275-5e1cf5998636"
      unitRef="usd">-1255000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTQtNS0xLTEtMA_699a136f-4a0c-4d85-ba93-87ff6f2749ce"
      unitRef="usd">39469000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTQtNy0xLTEtMA_10cc079b-6775-49eb-bd2c-e8f6efc2e871"
      unitRef="usd">-26874000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTUtMS0xLTEtMA_f7fce7a9-20d3-47aa-be7a-b0d6310c55f6"
      unitRef="usd">137676000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTUtMy0xLTEtMA_526e51f1-ef12-492c-ac5f-74310fae8a92"
      unitRef="usd">4978000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTUtNS0xLTEtMA_240a09be-45ef-437b-bedd-df2b4a87e0e9"
      unitRef="usd">158916000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTUtNy0xLTEtMA_64ed418b-ca7d-4ea3-9b09-3bb592e697c8"
      unitRef="usd">31854000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTgtMS0xLTEtMA_fa853750-3935-4171-b7f3-7cf84af20e87"
      unitRef="usdPerShare">4.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTgtMy0xLTEtMA_f92e9d9b-9f20-4136-ab6c-63ec02c2f8ca"
      unitRef="usdPerShare">0.15</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTgtNS0xLTEtMA_f5d3ea56-261d-4873-bbc3-f7bb9639f75f"
      unitRef="usdPerShare">4.64</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTgtNy0xLTEtMA_ee119650-1041-42f8-8eaa-4cca88af9f28"
      unitRef="usdPerShare">0.94</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTktMS0xLTEtMA_31b35a35-2ba4-4b9c-a3bf-932b7da2cb1f"
      unitRef="usdPerShare">3.86</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTktMy0xLTEtMA_0f665c6f-cde8-4537-bb68-9b1a84c1ef57"
      unitRef="usdPerShare">0.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTktNS0xLTEtMA_489154e9-78ea-4567-b66b-a2787655b857"
      unitRef="usdPerShare">4.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMTktNy0xLTEtMA_1bc5440c-5159-42f5-b352-877e93ce8087"
      unitRef="usdPerShare">0.90</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMjEtMS0xLTEtMA_24aedad2-066f-42e4-825c-acc8552d4f7d"
      unitRef="shares">34296000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMjEtMy0xLTEtMA_8ef9bbaa-0786-4d64-9c8b-601cb028f379"
      unitRef="shares">34047000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMjEtNS0xLTEtMA_f7e2d605-1e8f-4645-bf58-09db40c445c2"
      unitRef="shares">34241000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMjEtNy0xLTEtMA_0c028b4c-b991-4e2d-aed3-0c01400988f3"
      unitRef="shares">33991000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMjItMS0xLTEtMA_9458ab99-c1d4-40aa-800f-f0d13209942f"
      unitRef="shares">35665000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMjItMy0xLTEtMA_897f8a94-c42e-4f70-ba3c-635b64dffa8a"
      unitRef="shares">35421000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMjItNS0xLTEtMA_438b483f-324c-490f-bec9-4eabfc3aad2a"
      unitRef="shares">35662000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yMi9mcmFnOjgwODEwMGFhY2M4ZTRhYjA5ZGU3ZmMzZjJmYjQzNmIzL3RhYmxlOjQwODA0Y2Y1MjUwZDRkODI5NDVjOGFhNTFiMmJiODk0L3RhYmxlcmFuZ2U6NDA4MDRjZjUyNTBkNGQ4Mjk0NWM4YWE1MWIyYmI4OTRfMjItNy0xLTEtMA_8dcedb9b-77d6-47f2-8206-139bb1889995"
      unitRef="shares">35406000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfMi0xLTEtMS0w_f7fce7a9-20d3-47aa-be7a-b0d6310c55f6"
      unitRef="usd">137676000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfMi0zLTEtMS0w_526e51f1-ef12-492c-ac5f-74310fae8a92"
      unitRef="usd">4978000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfMi01LTEtMS0w_240a09be-45ef-437b-bedd-df2b4a87e0e9"
      unitRef="usd">158916000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfMi03LTEtMS0w_64ed418b-ca7d-4ea3-9b09-3bb592e697c8"
      unitRef="usd">31854000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfNC0xLTEtMS0w_e4e17b78-f718-499b-9ec9-d6474564a388"
      unitRef="usd">-41000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfNC0zLTEtMS0w_692a24b7-9ab1-4986-aa76-700a22bb21cf"
      unitRef="usd">20000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfNC01LTEtMS0w_859e8b57-7c25-48e0-b8f7-d78dedc4808a"
      unitRef="usd">57000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfNC03LTEtMS0w_9bb79ab1-638e-4b27-904a-b36049361030"
      unitRef="usd">216000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfNS0xLTEtMS0w_07706420-a6e8-48ef-9afa-77b78e9e4476"
      unitRef="usd">137635000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfNS0zLTEtMS0w_7252fbcf-afa4-4049-a4bd-883d50c68c4b"
      unitRef="usd">4998000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfNS01LTEtMS0w_4f42d6ef-86ad-4e6b-ae93-17baea187482"
      unitRef="usd">158973000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yNS9mcmFnOmIwNTNlYzI2ZjgwOTQ5YTVhZGNiNjNlZmFkNjc3NDExL3RhYmxlOjQ4ZTg2ZTY4ZTZhYTQ3MTNhNWE1ZTcxMGUxOGM0YjVjL3RhYmxlcmFuZ2U6NDhlODZlNjhlNmFhNDcxM2E1YTVlNzEwZTE4YzRiNWNfNS03LTEtMS0w_2cf291e8-53a8-4588-8ada-fa4887d0298e"
      unitRef="usd">32070000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="i69afa20c0b564923860d1ce96175f949_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS0xLTEtMS0w_4258e37d-552a-461c-9c51-1ccf3ce4fab9"
      unitRef="shares">16552000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i69afa20c0b564923860d1ce96175f949_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS0zLTEtMS0w_d517da1c-6ad5-4035-afb3-fe1e203dffaf"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i3b5b635cfddf47f583b8a4a01a83bd92_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS01LTEtMS0w_372b57e7-2602-4f84-b387-4589a6ceff09"
      unitRef="shares">17594000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i3b5b635cfddf47f583b8a4a01a83bd92_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS03LTEtMS0w_c857b0ca-ac2e-4884-bc69-06956b0c13b9"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i86838bd0551e40129ad9552c8ff38e72_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS05LTEtMS0w_9a3c2535-7ee5-4151-88df-20db2ccc4a62"
      unitRef="usd">161509000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8372c702331047c8a52b00ea242e0afa_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS0xMS0xLTEtMA_d1dbcd77-0143-49ae-9015-e2ece227dda9"
      unitRef="usd">33000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if52fc60844f94be795a608a42c0cb1e7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS0xMy0xLTEtMA_80a41e13-0eca-48ab-8d8c-f072dc8d9563"
      unitRef="usd">-21562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i98f1e68db1d943b58ab26dca12473e7a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS0xNS0xLTEtMA_d34b46c5-0def-4bc4-931f-85e114c118a5"
      unitRef="usd">-8034000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNS0xNy0xLTEtMA_7cd326eb-abc6-46fa-a123-f5f33e6d5e91"
      unitRef="usd">131950000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i0c2a76af4818470582e645ab716b63b2_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNi0xLTEtMS0w_4b3827b6-6c60-4132-ac18-21f68d78339c"
      unitRef="shares">17000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i952a04768a1443d2b20a630eb5dcee2b_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNi05LTEtMS0w_9bafd35b-e004-4680-bab8-94dee46970a6"
      unitRef="usd">97000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNi0xNy0xLTEtMA_cd8c7bd1-9e29-403a-863b-6fecbc2ff64d"
      unitRef="usd">97000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i952a04768a1443d2b20a630eb5dcee2b_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNy05LTEtMS0w_f876a110-190e-4ce3-99ec-019452a36c6b"
      unitRef="usd">1365000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfNy0xNy0xLTEtMA_0f3a59bd-df2a-45fd-b9ff-30bae1c33a57"
      unitRef="usd">1365000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i0c2a76af4818470582e645ab716b63b2_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfOC0xLTEtMS0w_7ee733f8-5a7e-4267-bca8-9c31be104584"
      unitRef="shares">91000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i952a04768a1443d2b20a630eb5dcee2b_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfOC05LTEtMS0w_e6ea832b-2d78-4e26-adfa-694981d73fef"
      unitRef="usd">-6458000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfOC0xNy0xLTEtMA_3bed95fe-c3b3-4056-ba32-be69fa973e4e"
      unitRef="usd">-6458000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i0c2a76af4818470582e645ab716b63b2_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfOS0xLTEtMS0w_aa86f4b0-98bb-4597-a1c0-83e5f36c62d5"
      unitRef="shares">58000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i56a4fd465f5a4af294451a24bb617c4e_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfOS01LTEtMS0w_01dece45-6bc6-4051-aa0d-bc33845657fe"
      unitRef="shares">-58000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfOS0xNy0xLTEtMA_f9bf39d2-95c1-4637-9cb9-70cb74e7a88f"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i5819c23e83b743f78863561d1d62187a_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTEtMTEtMS0xLTA_23d4aafb-695d-452c-92a3-d170d923c434"
      unitRef="usd">132000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTEtMTctMS0xLTA_42ef9fd5-3f04-463d-a9ff-b12e83969617"
      unitRef="usd">132000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i0c2a76af4818470582e645ab716b63b2_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTItMS0xLTEtMA_8c20d757-8e44-4a32-95d9-68dca91d3f31"
      unitRef="shares">48000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ifddfe51adb0944c98829358dca14fe45_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTItMTMtMS0xLTA_6e40c11a-a76a-4a9f-952d-26db5d34e6c6"
      unitRef="usd">4194000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTItMTctMS0xLTA_f2b207c8-9171-4fc1-8fa3-cdca8474c305"
      unitRef="usd">4194000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:NetIncomeLoss
      contextRef="ib3664c6e1d284db3a43d2f8c40d86f7b_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTMtMTUtMS0xLTA_3db3dda9-a57e-4b68-a737-4b149ae994a8"
      unitRef="usd">1983000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTMtMTctMS0xLTA_3f890da8-488a-4b31-9c4d-3df2c3da6844"
      unitRef="usd">1983000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="ieb4cea1089234fbd8f9cdb2b44ac26b9_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtMS0xLTEtMA_f4a063dd-7cd5-4ef7-9326-cfb47bcd89c6"
      unitRef="shares">16670000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ieb4cea1089234fbd8f9cdb2b44ac26b9_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtMy0xLTEtMA_d2f5b2e3-a6c6-4a84-8ac5-5603adb85a71"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i2bb4047dbfe248f496c88087ddef7686_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtNS0xLTEtMA_bb6ae457-fe8c-4b6a-83a0-fbe0beafb61a"
      unitRef="shares">17536000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i2bb4047dbfe248f496c88087ddef7686_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtNy0xLTEtMA_f53321f1-0cf9-428f-9f79-c9bfb4d72b58"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8cda40cab8914c0f8526ecadc06251ff_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtOS0xLTEtMA_c238f856-2e0c-4340-826a-ff19600653f7"
      unitRef="usd">156513000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2264254254354b02aeeac26b82dbe8bc_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtMTEtMS0xLTA_620ac381-4aea-4631-b1c6-1889760f08e4"
      unitRef="usd">165000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5d692ff13c7b411ba9a05f2097f71b32_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtMTMtMS0xLTA_1d64b6c2-7dfa-4455-af65-a043e396ea64"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if79cbf2da48e415b9d6e8c3647e48929_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtMTUtMS0xLTA_1f39155d-8885-4803-8404-ca623bc09891"
      unitRef="usd">-6051000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i297547587b1b43d5a0110bba194e39af_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTQtMTctMS0xLTA_7654a88d-0194-45e0-9f5d-0cb631d5d0ea"
      unitRef="usd">124875000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i78f60e5afaab4e7682a9388b3351e418_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTUtMS0xLTEtMA_d9842cfd-c976-450b-a07c-96b0187f3db5"
      unitRef="shares">32000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i89cb4c7b64c3492c8aa2a56fa5d83e0a_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTUtOS0xLTEtMA_c15539d3-a990-437a-b068-1c71bafebaa4"
      unitRef="usd">232000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i23af597588a743ebbc368da9bf761ee4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTUtMTctMS0xLTA_401e85cc-2b27-4c69-b58b-63750278aa0c"
      unitRef="usd">232000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i89cb4c7b64c3492c8aa2a56fa5d83e0a_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTYtOS0xLTEtMA_345c8ece-fb02-47ad-bd0b-0f9230c64d65"
      unitRef="usd">3406000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i23af597588a743ebbc368da9bf761ee4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTYtMTctMS0xLTA_5f781242-4737-4bc7-9f80-b0ff89164075"
      unitRef="usd">3406000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i78f60e5afaab4e7682a9388b3351e418_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTctMS0xLTEtMA_0b67132d-39b4-4538-a1f9-d2febb1aab41"
      unitRef="shares">50000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i89cb4c7b64c3492c8aa2a56fa5d83e0a_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTctOS0xLTEtMA_e92e752c-2e89-4f17-b146-01b359c725e1"
      unitRef="usd">-3232000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i23af597588a743ebbc368da9bf761ee4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTctMTctMS0xLTA_63761fae-fb19-4a54-9e5d-92be286ff252"
      unitRef="usd">-3232000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i78f60e5afaab4e7682a9388b3351e418_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTgtMS0xLTEtMA_9f7b55f8-604f-4097-93df-91906a461c43"
      unitRef="shares">197000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="ie558e09490c14b859eba27ed8cef42ec_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTgtNS0xLTEtMA_d6863d9d-6ecb-403f-9082-d63cf5ab900c"
      unitRef="shares">-197000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i23af597588a743ebbc368da9bf761ee4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTgtMTctMS0xLTA_c5a0aefc-33e5-4f34-9a4e-720015796e2a"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i78f60e5afaab4e7682a9388b3351e418_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTktMS0xLTEtMA_49fa672b-5b01-4e09-ab90-3de69581fd51"
      unitRef="shares">3000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i23af597588a743ebbc368da9bf761ee4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMTktMTctMS0xLTA_c95d0214-1e95-421c-81cc-a868a803580e"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i844ba17f788b49cf843ec73098f09294_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjAtMTEtMS0xLTA_f3b26570-0f4d-46e1-8367-3b239f47ef45"
      unitRef="usd">-34000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i23af597588a743ebbc368da9bf761ee4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjAtMTctMS0xLTA_56c343cc-18d4-4912-868a-1c41eab1b187"
      unitRef="usd">-34000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="ic57065b14fe04db8bc2c80719dbb029c_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjEtMTUtMS0xLTA_e5c294b2-d4d1-43c7-88e3-48d4195fe9a8"
      unitRef="usd">19257000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i23af597588a743ebbc368da9bf761ee4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjEtMTctMS0xLTA_da1e4cda-4c49-4cdf-9d93-565f85cd0559"
      unitRef="usd">19257000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i36683dae4d71438e82ac2e2c67612c36_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItMS0xLTEtMA_c509ae61-bb76-4661-8982-2a00257a2127"
      unitRef="shares">16952000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i36683dae4d71438e82ac2e2c67612c36_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItMy0xLTEtMA_7da3d044-2f3f-416d-9429-3376a90e964f"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="ib39d4b9f746a48779ed21c3740f085cd_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItNS0xLTEtMA_4559cdba-3fab-48fd-b8d2-8d8eccdf8c8e"
      unitRef="shares">17339000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ib39d4b9f746a48779ed21c3740f085cd_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItNy0xLTEtMA_3799c3b6-ad5b-4a61-ac01-72f7afecd9ff"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if41615a8b16645a5b97afa5f2c096618_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItOS0xLTEtMA_ceb0bb7a-7cfd-48cf-b9c1-54b73421de7c"
      unitRef="usd">156919000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5b9c012ff524482cbadbccf481b001e5_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItMTEtMS0xLTA_34469843-123d-4f11-a478-9b96fa584868"
      unitRef="usd">131000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaea5c5416f774411825a0da97163d5cd_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItMTMtMS0xLTA_f9d176f7-26fe-4a3d-999b-83f0b404ec9a"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7f7bdf5584804951be9a480c6337959c_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItMTUtMS0xLTA_33b67df9-9ddb-4e89-9b9f-1ff6b94fc0bb"
      unitRef="usd">13206000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idb7e42c126b34a8cb54c67c1d729de36_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjItMTctMS0xLTA_4577cde2-92e3-4ff8-b368-1e9ceaf65731"
      unitRef="usd">144504000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="iac701e213f6c491fa5a093dd7892f624_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjMtMS0xLTEtNDc_5ec2716d-40e4-4c17-875e-ba0680b4f629"
      unitRef="shares">10000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iec54854b58bf448b9e5fa005164bd3e3_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjMtOS0xLTEtNjA_5f1034a2-037c-460a-b7f8-2130d7e32441"
      unitRef="usd">74000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjMtMTctMS0xLTgw_f136178c-223a-410a-9aaf-8c0216e831cd"
      unitRef="usd">74000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iec54854b58bf448b9e5fa005164bd3e3_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjQtOS0xLTEtNjA_0a336e49-25c1-47db-86b9-014d539d35e4"
      unitRef="usd">3572000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjQtMTctMS0xLTgw_63ad702e-731d-4498-aac7-5fc4e53c73ba"
      unitRef="usd">3572000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="iac701e213f6c491fa5a093dd7892f624_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjUtMS0xLTEtNDc_baa68916-edfc-4232-997b-4b8a87bfa548"
      unitRef="shares">12000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="iec54854b58bf448b9e5fa005164bd3e3_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjUtOS0xLTEtNjA_97fc15b8-8019-43fd-85d8-b05c7ea99040"
      unitRef="usd">-1269000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjUtMTctMS0xLTgw_972bbf15-7a94-464f-bcb3-cf0038f6d27f"
      unitRef="usd">-1269000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="iac701e213f6c491fa5a093dd7892f624_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjYtMS0xLTEtNDc_3596a787-cd3e-417e-a93c-ee856f7a1094"
      unitRef="shares">1057000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i0cc44b55ad694a5f8b7f44a9f4b67ba2_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjYtNS0xLTEtNTU_c764e1b8-5a76-463d-a3bd-a0250483e355"
      unitRef="shares">-1057000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjYtMTctMS0xLTgw_43fd987c-ce46-4c1f-9ac0-95620ac9e4c0"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ida7b571d4630487f8d74dede241a7eb4_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjgtMTEtMS0xLTY4_f894e05b-7c87-4398-91e7-ddeab9869c36"
      unitRef="usd">-41000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjgtMTctMS0xLTgw_abcbc97e-69e1-4616-b6ac-44484ba3f758"
      unitRef="usd">-41000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="ieb34858f674d4199b656322023698d14_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjktMTUtMS0xLTc2_7c9f255c-4ef3-48ad-b00f-7b2b31f3a1a1"
      unitRef="usd">137676000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMjktMTctMS0xLTgw_d34bd726-be5d-4d67-b59f-cfd57987c37e"
      unitRef="usd">137676000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i1e28b630a4d24a4e9e9a8030419f8e37_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtMS0xLTEtNDc_e29caab2-ec34-43fe-b61b-a548e4c8216d"
      unitRef="shares">18031000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1e28b630a4d24a4e9e9a8030419f8e37_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtMy0xLTEtNTE_c469a63e-4cac-451f-9d27-0cf0625e650a"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i9ab6aaeadc4f4d888cd1fd3f2e0d9650_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtNS0xLTEtNTU_16f3f28e-2b90-407a-add0-7cb1986e4ae2"
      unitRef="shares">16282000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i9ab6aaeadc4f4d888cd1fd3f2e0d9650_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtNy0xLTEtNjQ_4f48cee7-7951-4687-81f9-dabec229aea8"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i83ad90fc7d6f426590d9df68873c69a8_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtOS0xLTEtNjA_e1d0de17-0a5f-4b14-a500-39976e085b3f"
      unitRef="usd">159296000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i581efb23270f4ad29423c98c4e740c3c_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtMTEtMS0xLTY4_f1c31c53-7c08-40db-b4f3-0c3bfcb1fba0"
      unitRef="usd">90000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6f97aaac639044feb938b296b7268fe7_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtMTMtMS0xLTcy_2fe01136-fbd4-4a3c-b654-8b7e8f01249c"
      unitRef="usd">-25756000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib4734c4bd55848bcb8f798b3b8ce9728_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtMTUtMS0xLTc2_90fc2ab5-318b-4318-b049-71c90e9f7473"
      unitRef="usd">150882000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjkxY2ZiODhjNjI4MTQzY2NhZWQ5NzU0Yzc3ZTg5MDU5L3RhYmxlcmFuZ2U6OTFjZmI4OGM2MjgxNDNjY2FlZDk3NTRjNzdlODkwNTlfMzAtMTctMS0xLTgw_fb72963e-fda5-4429-9f38-1436bbf67f15"
      unitRef="usd">284516000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="id0788078950248528b41151d9bc4181f_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS0xLTEtMS0w_8e13adfd-b51f-44c8-94c1-f0d566c827db"
      unitRef="shares">15789000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="id0788078950248528b41151d9bc4181f_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS0zLTEtMS0w_578655f8-7b53-48ab-8afb-b5073ff44829"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="ia57d80d7b00047809462723783c9cca6_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS01LTEtMS0w_8436fc72-6ab1-4196-be85-f404d93bbfa0"
      unitRef="shares">18109000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ia57d80d7b00047809462723783c9cca6_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS03LTEtMS0w_9e381fc7-8fcd-4909-8964-4b2c3af2d33d"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i35730d9eae4f4423bfa658c086f20328_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS05LTEtMS0w_0cbe1651-1fe7-4389-99b3-a997e72404e6"
      unitRef="usd">157898000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i10fce8f7d564458896f10ab0aa24099e_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS0xMS0xLTEtMA_b6e3de42-b7c1-40de-953c-cd593425ff64"
      unitRef="usd">-178000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iacf87d2d17104a77b4560d1b1c80bd44_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS0xMy0xLTEtMA_2c6ffc52-0dcd-4139-8532-36600034c583"
      unitRef="usd">-21562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id4cc4f1d58a94a44ab58970c2238acff_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS0xNS0xLTEtMA_4e28cf2c-9bb9-4250-acbc-65591e024d7a"
      unitRef="usd">-44316000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i869f6796db6744789d6591bb34d5c927_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNS0xNy0xLTEtMA_a4d39edb-6270-491d-a49d-fdacc359f62f"
      unitRef="usd">91846000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i6accbf19887a44dfb53ea71c343675b0_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNi0xLTEtMS0w_133eab8d-2e27-4e51-bc8a-36762af4c800"
      unitRef="shares">14000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ia35396cdc10b4d1ba497c0107781b0a2_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNi05LTEtMS0w_1f913b52-2c53-4f87-bc90-8e9d036bbc37"
      unitRef="usd">90000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i88ebe4362e1c46b69799cab7fe68a641_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNi0xNy0xLTEtMA_85308433-b095-49f6-a5e1-9aa760070b9d"
      unitRef="usd">90000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia35396cdc10b4d1ba497c0107781b0a2_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNy05LTEtMS0w_0a064a5a-8f69-4d55-913f-3116b06df0bf"
      unitRef="usd">1831000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i88ebe4362e1c46b69799cab7fe68a641_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfNy0xNy0xLTEtMA_4326b3e5-c7e9-401c-910b-25bfb8189245"
      unitRef="usd">1831000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i6accbf19887a44dfb53ea71c343675b0_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfOC0xLTEtMS0w_94038ec4-f289-4c0e-9d81-91fb93d7c2a5"
      unitRef="shares">58000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="ia35396cdc10b4d1ba497c0107781b0a2_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfOC05LTEtMS0w_25700a9e-fd4c-4e15-988e-699c7753e9cd"
      unitRef="usd">-2572000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i88ebe4362e1c46b69799cab7fe68a641_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfOC0xNy0xLTEtMA_dfda599c-ff49-4698-85ba-749903b90a28"
      unitRef="usd">-2572000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
      contextRef="ia35396cdc10b4d1ba497c0107781b0a2_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfOS05LTEtMS0w_e2e0fe63-281d-4f75-adbd-0682f83cee17"
      unitRef="usd">6000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
      contextRef="i88ebe4362e1c46b69799cab7fe68a641_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfOS0xNy0xLTEtMA_5203aff4-62d2-4c5b-8bfb-4af897975f7b"
      unitRef="usd">6000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i6accbf19887a44dfb53ea71c343675b0_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTAtMS0xLTEtMA_68a03eea-cd11-4b35-a4e5-d7a9cf3c356b"
      unitRef="shares">38000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="icdf9ead8889d47ffbb16cd90e98bf8ca_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTAtNS0xLTEtMA_64f49daf-5c7a-4a9c-acc5-3eb92f05f189"
      unitRef="shares">-38000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i88ebe4362e1c46b69799cab7fe68a641_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTAtMTctMS0xLTA_9efdd803-c09a-490a-9b5a-333bc0d5faa8"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="iae5d6c3721d1406db4df7ffab2ab584c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTItMTEtMS0xLTA_ff87c53e-a033-4282-ac18-c33245c24357"
      unitRef="usd">129000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i88ebe4362e1c46b69799cab7fe68a641_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTItMTctMS0xLTA_94d4ab99-21a9-432d-8050-e7ec61777885"
      unitRef="usd">129000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i6e39fd2a751343da91d9962738a2e760_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTMtMTUtMS0xLTA_9316a037-32de-4b81-8f19-367f06fe7eff"
      unitRef="usd">3725000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i88ebe4362e1c46b69799cab7fe68a641_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTMtMTctMS0xLTA_5d4e7d57-a165-4203-8bb0-29109bfe72e1"
      unitRef="usd">3725000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="ic03afd3257f649a29462657e4c8e2c44_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtMS0xLTEtMA_32ffbf17-6f0e-4834-bfaa-06247b760d09"
      unitRef="shares">15899000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ic03afd3257f649a29462657e4c8e2c44_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtMy0xLTEtMA_e3e812b7-0554-4233-b8ea-a26d00d89361"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i1a04fca8e2d44024bff38b12b311c5f1_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtNS0xLTEtMA_41888446-e0d4-49d5-860c-b0bf1e4643eb"
      unitRef="shares">18071000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1a04fca8e2d44024bff38b12b311c5f1_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtNy0xLTEtMA_dfd2fc44-786e-4827-b597-ba74b8593810"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idcbe04f289fe4d4ba5bd1d36450a1c1d_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtOS0xLTEtMA_8f2add97-570b-40ea-bf13-09708065ab26"
      unitRef="usd">157253000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id7d7737fc3734a11877cd3e7f4334780_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtMTEtMS0xLTA_194139bd-c77d-43f3-8231-b79cfcbe8239"
      unitRef="usd">-49000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idfc968973bab414bbaadb26c9669c590_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtMTMtMS0xLTA_a528bb28-ccd3-4875-aae9-e359134853c7"
      unitRef="usd">-21562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i551556d98be046bb871f94e58714238e_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtMTUtMS0xLTA_1f005a5a-f11e-4579-a530-b113304c93f9"
      unitRef="usd">-40591000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idc84b7e58a6a4053977e69f489ff73b8_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTQtMTctMS0xLTA_266efa44-c913-4fd9-8a37-fd6ee43a3787"
      unitRef="usd">95055000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i1f0f7bbdbbbe4ecc84ea51bf503ea1a9_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTUtMS0xLTEtMA_6084439b-8dbb-4ad6-9a18-b9889facf589"
      unitRef="shares">23000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i913373d819d54062a8279518cc119db6_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTUtOS0xLTEtMA_0ddb73b0-e1e3-455b-9341-887434a96737"
      unitRef="usd">109000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i1b6afed677b94d5abb27551c61b6b67b_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTUtMTctMS0xLTA_3ba64dde-e901-480f-8885-be4c4c698378"
      unitRef="usd">109000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i913373d819d54062a8279518cc119db6_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTYtOS0xLTEtMA_e78636ae-606f-4da0-b268-8d07086ec4c9"
      unitRef="usd">2080000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1b6afed677b94d5abb27551c61b6b67b_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTYtMTctMS0xLTA_a67c1059-52e6-482f-8ef8-6b70033515f0"
      unitRef="usd">2080000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i1f0f7bbdbbbe4ecc84ea51bf503ea1a9_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTctMS0xLTEtMA_4000bcb7-151a-43bd-bdaa-ae269954f29d"
      unitRef="shares">42000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i913373d819d54062a8279518cc119db6_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTctOS0xLTEtMA_f0998d99-7685-4911-a0dc-f4d8f302d0cf"
      unitRef="usd">-2247000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i1b6afed677b94d5abb27551c61b6b67b_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTctMTctMS0xLTA_c6327e22-927c-4ff3-9ee5-3ae00e6dd1b8"
      unitRef="usd">-2247000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i1f0f7bbdbbbe4ecc84ea51bf503ea1a9_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTgtMS0xLTEtMA_5239a632-33b0-4d56-a66a-084c4b2ada66"
      unitRef="shares">119000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i6b17abd2b3e94ab7a49d80940ff50b38_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTgtNS0xLTEtMA_253fe479-fe72-4c88-879f-96953ce92149"
      unitRef="shares">-119000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i1b6afed677b94d5abb27551c61b6b67b_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTgtMTctMS0xLTA_39d91506-52c5-4239-8d13-c0e7836c5ce9"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="i1f0f7bbdbbbe4ecc84ea51bf503ea1a9_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTktMS0xLTEtMA_1411caee-503d-44a5-98f9-7fe5fb342e11"
      unitRef="shares">3000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i1b6afed677b94d5abb27551c61b6b67b_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMTktMTctMS0xLTA_b7d7fa19-518f-4dee-816c-339ff979d455"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="iec6366bd8fe14fbca4b924894f50683a_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjAtMTEtMS0xLTA_8e2e76f8-4265-4e4c-9cab-7d2ed1af9d68"
      unitRef="usd">67000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i1b6afed677b94d5abb27551c61b6b67b_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjAtMTctMS0xLTA_95a731c1-9285-4a75-80fa-8c2f4a4bb502"
      unitRef="usd">67000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="ieb094c2018b04ff0ac8fcaeeae033eaa_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjEtMTUtMS0xLTA_bdc5dc8b-1628-4733-a79f-9455bac170e8"
      unitRef="usd">23151000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i1b6afed677b94d5abb27551c61b6b67b_D20190401-20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjEtMTctMS0xLTA_818944fb-728f-41e4-aba5-4f6572137117"
      unitRef="usd">23151000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i3981207ba98d48a1abc8faed316d762d_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItMS0xLTEtMA_3f340659-f7af-4ece-84bb-e124798f52d5"
      unitRef="shares">16086000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i3981207ba98d48a1abc8faed316d762d_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItMy0xLTEtMA_7101c1db-983d-4301-b3ac-084c24783f75"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="ie9449ed92dbf4602b720c254b943e864_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItNS0xLTEtMA_35a135dc-db26-4f5d-a5ba-df5654be677c"
      unitRef="shares">17952000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ie9449ed92dbf4602b720c254b943e864_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItNy0xLTEtMA_393ffd81-9bb8-47e6-9c92-f1d899818ce9"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id4cf192096c140759f7c8979477c13bc_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItOS0xLTEtMA_4f6eb7e0-7f4e-49f2-a442-746f00a1474e"
      unitRef="usd">157195000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3b2e96a9bdec47c4ba74fc4e962177b4_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItMTEtMS0xLTA_a918f171-a7b2-4bda-949c-8e2aa494fad4"
      unitRef="usd">18000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib4740ee396154d6f828372323537ac2c_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItMTMtMS0xLTA_a8cc41da-2a60-472b-8d36-a02f25f0dc69"
      unitRef="usd">-21562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib02f32b92b244dabb42eea37ee1600a7_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItMTUtMS0xLTA_08a31a32-db17-48c8-bde6-b3a6e5903313"
      unitRef="usd">-17440000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i788f0be2775a4dd4ada56a253519639b_I20190630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjItMTctMS0xLTA_f4a00ffa-a791-4bb6-bc7c-c71dce5d73ba"
      unitRef="usd">118215000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i6cb46253240041cf82eb6c1a6056b6b5_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjMtMS0xLTEtMTAz_c14b88b4-2b9a-4581-9c3e-f1d09e36e044"
      unitRef="shares">9000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i91bae8755839439cb6492c704af68c46_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjMtOS0xLTEtMTE5_fd7316a5-b5b4-4148-86fd-6db7a647b7f1"
      unitRef="usd">60000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjMtMTctMS0xLTEzNQ_0372c13c-6bdc-49e8-be3d-7d419de424db"
      unitRef="usd">60000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i91bae8755839439cb6492c704af68c46_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjQtOS0xLTEtMTE5_ae98decb-4c7e-4fed-92d8-10cf3ca65da4"
      unitRef="usd">2678000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjQtMTctMS0xLTEzNQ_0c3112ad-fe06-4dda-90f0-330416bbdc53"
      unitRef="usd">2678000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="i6cb46253240041cf82eb6c1a6056b6b5_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjUtMS0xLTEtMTAz_bed53584-5dcd-4342-8a88-e21a9dff69c1"
      unitRef="shares">11000</appf:RestrictedStockUnitsSharesIssuedNetOfSharesForTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i91bae8755839439cb6492c704af68c46_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjUtOS0xLTEtMTE5_d8721065-60a0-498a-a108-2dd3c712b93b"
      unitRef="usd">-534000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjUtMTctMS0xLTEzNQ_69ba3532-0542-48f2-b9e5-fbb6a3d72614"
      unitRef="usd">-534000</appf:RestrictedStockUnitsValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i6cb46253240041cf82eb6c1a6056b6b5_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjYtMS0xLTEtMTAz_3c2ad1d1-d4d1-4778-9c22-f9dde4ab98fa"
      unitRef="shares">267000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockSharesConverted1
      contextRef="i9afa0505ac12443c9c97f1ef741b23f9_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjYtNS0xLTEtMTEx_cab3da6d-5d46-4fb9-bfdc-35c55439e250"
      unitRef="shares">-267000</us-gaap:ConversionOfStockSharesConverted1>
    <us-gaap:ConversionOfStockAmountConverted1
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjYtMTctMS0xLTEzNQ_1f29b43a-a542-4586-980f-b8190a180524"
      unitRef="usd">0</us-gaap:ConversionOfStockAmountConverted1>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjctMTctMS0xLTEzNQ_abff9e35-59a8-48ea-b1ae-d5514d56d3e0"
      unitRef="usd">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="ica6bd560e55547d685267cb24b3c78b8_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjgtMTEtMS0xLTEyMw_cd4af138-bbf4-423f-9ec0-ae5965e7e3e1"
      unitRef="usd">20000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjgtMTctMS0xLTEzNQ_10906f13-5ca3-405c-a331-3ccfe0709e36"
      unitRef="usd">20000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i07dfa2dadb184a8a8d442927731df736_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjktMTUtMS0xLTEzMQ_656f7134-8910-4e57-8ed8-722b216bde0b"
      unitRef="usd">4978000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMjktMTctMS0xLTEzNQ_bbada1a8-0449-4aa2-b5be-3f033c09ab6d"
      unitRef="usd">4978000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i69515e89c5de4427a757e77356721896_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtMS0xLTEtMTAz_2a9d0200-3c1c-47bf-9d7c-2ef600806d7d"
      unitRef="shares">16373000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i69515e89c5de4427a757e77356721896_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtMy0xLTEtMTA3_842c9b90-879e-4b06-a647-e815967e73f0"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="i968889a1638442b5a10bb77884e70110_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtNS0xLTEtMTEx_9e016a67-0fb2-44af-beee-a4a1023925aa"
      unitRef="shares">17685000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i968889a1638442b5a10bb77884e70110_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtNy0xLTEtMTE1_d721a964-67d7-4eee-b925-4cc512af8b5c"
      unitRef="usd">2000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8191e590bf344d9b8630d7248b919874_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtOS0xLTEtMTE5_d530a1d0-ebd8-40af-b780-d3e54fc9f14a"
      unitRef="usd">159399000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6992721a0f734322b9462d44eaf955f1_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtMTEtMS0xLTEyMw_bd99514a-8736-44d5-8937-149db5d6010e"
      unitRef="usd">38000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5a5059c8b65b4ba6b2867eea9fb8237b_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtMTMtMS0xLTEyNw_5b5d90ac-a2a3-48f9-b2a5-dc1f2d3a0fd1"
      unitRef="usd">-21562000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6aa2c75da7144648a2de9f6bb53bfb65_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtMTUtMS0xLTEzMQ_b4663e50-50a2-4072-83bf-247bbd0e7caf"
      unitRef="usd">-12462000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8a21e822078b4c06ae3107153ddf95d7_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8yOC9mcmFnOjdiZWY5Y2RmZjQxMzRhZTViYzI0NzZkYmJiZWU0ZDAwL3RhYmxlOjM5YmYzMGRjYzRkZjRlYzFhMGI0ZjhjZjhjMzEwM2MxL3RhYmxlcmFuZ2U6MzliZjMwZGNjNGRmNGVjMWEwYjRmOGNmOGMzMTAzYzFfMzAtMTctMS0xLTEzNQ_0c25cc51-24db-444b-94b9-d0362c2db4ab"
      unitRef="usd">125417000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfOC0xLTEtMS0w_20b89e96-3dd1-491f-8080-3c6ad198c582"
      unitRef="usd">158916000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfOC0zLTEtMS0w_3cbd5a71-f643-4ad9-bdbc-68559c028795"
      unitRef="usd">31854000</us-gaap:NetIncomeLoss>
    <appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTAtMS0xLTEtMA_d302042b-1978-470e-8b33-bbde3a051c86"
      unitRef="usd">19751000</appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts>
    <appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTAtMy0xLTEtMA_5c96f04f-b8ee-4351-aaf0-4f0e9f83fb1d"
      unitRef="usd">16169000</appf:DepreciationDepletionandAmortizationExcludingAmortizationofFinancingCosts>
    <appf:AmortizationOfOperatingLeaseRightOfUseAssets
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTEtMS0xLTEtMA_5f9c2170-03a4-421f-ac04-bf22d3ab53b5"
      unitRef="usd">2973000</appf:AmortizationOfOperatingLeaseRightOfUseAssets>
    <appf:AmortizationOfOperatingLeaseRightOfUseAssets
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTEtMy0xLTEtMA_01fa6015-9e11-4f90-afbb-f1e92722fc7e"
      unitRef="usd">3016000</appf:AmortizationOfOperatingLeaseRightOfUseAssets>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTItMS0xLTEtMA_5a28e7e5-eefe-4144-8309-c84c5cad8de4"
      unitRef="usd">22878000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTItMy0xLTEtMA_d64c96bf-f457-417b-bf38-e9ce128a608f"
      unitRef="usd">-27032000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ShareBasedCompensation
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTMtMS0xLTEtMA_ac364275-684a-4076-9e64-d63905a3942c"
      unitRef="usd">6808000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTMtMy0xLTEtMA_a089ddee-4b1d-4a1f-bdca-e5d9d2c054ba"
      unitRef="usd">5431000</us-gaap:ShareBasedCompensation>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTQtMS0xLTEtNDE3_e602d569-bed9-4015-a8b3-7b1496dd9629"
      unitRef="usd">187636000</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:GainLossOnSaleOfBusiness
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTQtMy0xLTEtNDIx_92e66be8-0cb3-4530-98d1-1954ae07adff"
      unitRef="usd">0</us-gaap:GainLossOnSaleOfBusiness>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTQtMS0xLTEtMA_23a8b97d-72e6-4ac0-9641-1ed08c049f66"
      unitRef="usd">-170000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTQtMy0xLTEtMA_9eee918d-1456-4882-8458-15d7fcf13233"
      unitRef="usd">-136000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTctMS0xLTEtMA_d748b00d-bfc9-4892-983f-9e0807189bd4"
      unitRef="usd">2229000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTctMy0xLTEtMA_ba29a131-ad15-4d4e-91af-4352151fcefa"
      unitRef="usd">2778000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTgtMS0xLTEtMA_db613829-ddcf-4614-95e3-2000d800684e"
      unitRef="usd">859000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTgtMy0xLTEtMA_ee5bd2b9-cc5a-4d38-b542-399ba672600c"
      unitRef="usd">4403000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTktMS0xLTEtMA_027e11bb-91cb-4170-93f8-f88f2afe9a8a"
      unitRef="usd">320000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMTktMy0xLTEtMA_2f872346-5d45-4119-9e2c-fa1958e8033c"
      unitRef="usd">-1129000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjAtMS0xLTEtMA_ad4fd343-b8ea-4792-af0e-50db04e310fd"
      unitRef="usd">695000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjAtMy0xLTEtMA_f4eece6e-e25c-4944-8a89-95835392d026"
      unitRef="usd">270000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjEtMS0xLTEtMA_9c10a5d7-cabb-4d31-8279-45c259aa7f5c"
      unitRef="usd">1919000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjEtMy0xLTEtMA_392acc59-4cfb-4e02-b354-89efd74a6810"
      unitRef="usd">486000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjItMS0xLTEtMA_35910c2b-c301-48c8-82e8-71aab70226bf"
      unitRef="usd">5931000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccruedLiabilities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjItMy0xLTEtMA_f02553f5-561c-4517-8c9d-34ebc683735f"
      unitRef="usd">-14000</us-gaap:IncreaseDecreaseInOtherAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjMtMS0xLTEtMA_08342e0a-e31e-4116-b19f-e62cab49ee57"
      unitRef="usd">815000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjMtMy0xLTEtMA_3591c6f7-438b-48de-a5cc-4a6482a58953"
      unitRef="usd">1039000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <appf:IncreaseDecreaseInOperatingLeases
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjQtMS0xLTEtMA_71f9efca-b292-4651-ae4a-0c6664a80c8c"
      unitRef="usd">-1135000</appf:IncreaseDecreaseInOperatingLeases>
    <appf:IncreaseDecreaseInOperatingLeases
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjQtMy0xLTEtMA_1e6c7e0c-fde6-46be-8813-a2b35eea4a4d"
      unitRef="usd">-2886000</appf:IncreaseDecreaseInOperatingLeases>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjUtMS0xLTEtMA_decccb69-b953-40f5-9423-bc2086de82cb"
      unitRef="usd">16539000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjUtMy0xLTEtMA_2ef972f0-fca9-492d-b1d7-9257e86ba082"
      unitRef="usd">996000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjYtMS0xLTEtMA_47b93216-06ec-4d44-9a2a-6f0dbc140475"
      unitRef="usd">45216000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjYtMy0xLTEtMA_9cd9761e-c127-4a1d-bedd-0dcd17412a14"
      unitRef="usd">23413000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjgtMS0xLTEtMA_77829089-2bc2-4ee2-bc6d-a80b98270fb5"
      unitRef="usd">29879000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjgtMy0xLTEtMA_f87cf315-406e-4f5f-9720-0b81d2a19476"
      unitRef="usd">10690000</us-gaap:PaymentsToAcquireAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjktMS0xLTEtMA_60eed38a-b669-4ef0-a50a-3b9d688a9ca8"
      unitRef="usd">13942000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMjktMy0xLTEtMA_54bdeb2f-99cd-4b9f-ae61-e5a2fd859e20"
      unitRef="usd">2750000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzAtMS0xLTEtMA_24522f65-821e-42af-b9bb-089369b8056f"
      unitRef="usd">13300000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzAtMy0xLTEtMA_8daa22e0-1a53-434a-b57e-6cb613bf4983"
      unitRef="usd">11000000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzEtMS0xLTEtMA_eb3923c9-9084-441b-a582-2e028903c965"
      unitRef="usd">16551000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzEtMy0xLTEtMA_9b882483-95e0-4e9a-ba2e-20bc74d2ff9d"
      unitRef="usd">4115000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzItMS0xLTEtMA_2a8043ef-ac75-4411-b503-b08193315cdf"
      unitRef="usd">19697000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToDevelopSoftware
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzItMy0xLTEtMA_bc15df48-9cdf-4d0d-8cab-917c42a6abb3"
      unitRef="usd">15669000</us-gaap:PaymentsToDevelopSoftware>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzMtMS0xLTEtMA_07f7779f-e432-4019-8b36-dc91f85414c5"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzMtMy0xLTEtMA_d6badcd7-1c1e-4e5c-9e12-b46872c15d72"
      unitRef="usd">54004000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzUtMS0xLTEtNDEw_dcc20d71-9719-4d90-9394-16f70fb2a5c1"
      unitRef="usd">191427000</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzUtMy0xLTEtNDA2_da234d57-a4f6-40d6-b87c-4894281e6c58"
      unitRef="usd">0</us-gaap:ProceedsFromDivestitureOfBusinessesNetOfCashDivested>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzUtMS0xLTEtMA_a3e86063-7612-41ff-a2eb-288621456b33"
      unitRef="usd">152542000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzUtMy0xLTEtMA_6240dca5-a90b-451c-b36f-b98525dbbf91"
      unitRef="usd">-70728000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzctMS0xLTEtMA_389988d7-0149-4c34-9e39-96c243bcf923"
      unitRef="usd">402000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfMzctMy0xLTEtMA_cd912b10-51bd-4f78-b57b-155276cc249c"
      unitRef="usd">259000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDAtMS0xLTEtMA_ddf4785f-0134-471b-b504-4a914e744078"
      unitRef="usd">10959000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDAtMy0xLTEtMA_ca823ba4-eb10-4e81-a7ce-46ce42a772a9"
      unitRef="usd">5541000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDItMS0xLTEtMA_20f3f34b-3449-417e-a133-b9ef095f6d18"
      unitRef="usd">5977000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDItMy0xLTEtMA_d16408a1-d8bc-41b8-9c2e-148fd8665f1c"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDMtMS0xLTEtMA_bc2a155d-9016-4362-a677-7b020b2fec52"
      unitRef="usd">50752000</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:ProceedsFromIssuanceOfSecuredDebt
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDMtMy0xLTEtMA_867c3cbf-53e9-4ce3-87c0-ec729ea6f7ca"
      unitRef="usd">1697000</us-gaap:ProceedsFromIssuanceOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDQtMS0xLTEtMA_0ff06413-0116-4410-86ad-9d98bb136d93"
      unitRef="usd">99565000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:RepaymentsOfSecuredDebt
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDQtMy0xLTEtMA_33786a0c-0eb0-4f75-a4a1-b0972f9c3699"
      unitRef="usd">2634000</us-gaap:RepaymentsOfSecuredDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDUtMS0xLTEtMA_82960d18-ac65-47d4-83f0-1de6ffbfe3a5"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDUtMy0xLTEtMA_2b9baa08-8dd4-4ad9-a289-5cbd3edf3162"
      unitRef="usd">420000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDYtMS0xLTEtMA_370d1480-426c-4585-8619-1f727b7591b2"
      unitRef="usd">4194000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDYtMy0xLTEtMA_8c76b2a8-1575-4c36-b4d7-aa01759e46d4"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDctMS0xLTEtMA_502ea3aa-0ffd-4d55-8ef2-5fb022f9331a"
      unitRef="usd">-69541000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDctMy0xLTEtMA_eb6a12b7-f99e-4d62-a36f-44f218e1718e"
      unitRef="usd">-6639000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDgtMS0xLTEtMA_22e3afa6-ddaa-430d-b58f-a2f54cdae2c4"
      unitRef="usd">128217000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNDgtMy0xLTEtMA_dc26e2cc-fa6e-4dc5-b622-4c3e979c18b5"
      unitRef="usd">-53954000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTAtMS0xLTEtMA_245c2f01-9f74-413e-a10b-aeba4266ec6e"
      unitRef="usd">16247000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i869f6796db6744789d6591bb34d5c927_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTAtMy0xLTEtMA_9f6f01cb-21f2-466b-927e-089141558ff9"
      unitRef="usd">74506000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTEtMS0xLTEtMA_bc8ba873-1e89-45de-bc1c-00bf2a44fb27"
      unitRef="usd">144464000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i8a21e822078b4c06ae3107153ddf95d7_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTEtMy0xLTEtMA_2997e91e-5ef2-4cec-981e-41c15aebfa66"
      unitRef="usd">20552000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTQtMS0xLTEtMA_8fccca81-d0a0-40bd-ab12-9900ad33727e"
      unitRef="usd">1748000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTQtMy0xLTEtMA_34b15648-515d-4439-aac0-8d7d9c682382"
      unitRef="usd">1613000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTUtMS0xLTEtMA_ad9bff05-eac9-4c6e-a0d1-ccf320466788"
      unitRef="usd">756000</appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid>
    <appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTUtMy0xLTEtMA_939acb64-0e0b-4ac8-b70d-1932ca844f22"
      unitRef="usd">601000</appf:CapitalizedComputerSoftwareAdditionsIncurredButNotYetPaid>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTYtMS0xLTEtMA_0a563f05-83c5-4c6e-b1d7-a2e94a6d7377"
      unitRef="usd">1535000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTYtMy0xLTEtMA_7c67c899-021e-41a7-9845-38501f910113"
      unitRef="usd">1321000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <appf:BusinessCombinationConsiderationAccruedButNotYetPaid
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTktMS0xLTEtMA_750c21d7-30d0-40f5-ba4b-daa410e6eec3"
      unitRef="usd">0</appf:BusinessCombinationConsiderationAccruedButNotYetPaid>
    <appf:BusinessCombinationConsiderationAccruedButNotYetPaid
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOmI4ZTA5N2Q1Mzc3MDQ3NGViZmViNjIwOGMxMWFkZGE5L3RhYmxlcmFuZ2U6YjhlMDk3ZDUzNzcwNDc0ZWJmZWI2MjA4YzExYWRkYTlfNTktMy0xLTEtMA_2f765490-b52d-432d-9914-8a54b2844f04"
      unitRef="usd">5977000</appf:BusinessCombinationConsiderationAccruedButNotYetPaid>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOjUyOTUzNWNkMmQ4MzQ5ZTViZDAwZjk2ZDE0NDY4YTBmL3RhYmxlcmFuZ2U6NTI5NTM1Y2QyZDgzNDllNWJkMDBmOTZkMTQ0NjhhMGZfMi0xLTEtMS0w_0d42dcd4-4655-43be-857a-1fcdc8459c80"
      unitRef="usd">144028000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i8a21e822078b4c06ae3107153ddf95d7_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOjUyOTUzNWNkMmQ4MzQ5ZTViZDAwZjk2ZDE0NDY4YTBmL3RhYmxlcmFuZ2U6NTI5NTM1Y2QyZDgzNDllNWJkMDBmOTZkMTQ0NjhhMGZfMi0zLTEtMS0w_388f0c8f-4184-44cd-82cc-efe0a2f4613c"
      unitRef="usd">20121000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOjUyOTUzNWNkMmQ4MzQ5ZTViZDAwZjk2ZDE0NDY4YTBmL3RhYmxlcmFuZ2U6NTI5NTM1Y2QyZDgzNDllNWJkMDBmOTZkMTQ0NjhhMGZfMy0xLTEtMS0w_35d661a8-008f-473b-9497-7b3b72c02bb7"
      unitRef="usd">436000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="i8a21e822078b4c06ae3107153ddf95d7_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOjUyOTUzNWNkMmQ4MzQ5ZTViZDAwZjk2ZDE0NDY4YTBmL3RhYmxlcmFuZ2U6NTI5NTM1Y2QyZDgzNDllNWJkMDBmOTZkMTQ0NjhhMGZfMy0zLTEtMS0w_e9552335-b012-425e-9f5d-d4a2de8774d0"
      unitRef="usd">431000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOjUyOTUzNWNkMmQ4MzQ5ZTViZDAwZjk2ZDE0NDY4YTBmL3RhYmxlcmFuZ2U6NTI5NTM1Y2QyZDgzNDllNWJkMDBmOTZkMTQ0NjhhMGZfNC0xLTEtMS0w_66afffb3-27c8-4590-89c4-923885c00015"
      unitRef="usd">144464000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i8a21e822078b4c06ae3107153ddf95d7_I20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zMS9mcmFnOjJmZjdlMTBlNzZhMTRjNjE5ZWQ3NmEzN2YyNGQ5ZjEyL3RhYmxlOjUyOTUzNWNkMmQ4MzQ5ZTViZDAwZjk2ZDE0NDY4YTBmL3RhYmxlcmFuZ2U6NTI5NTM1Y2QyZDgzNDllNWJkMDBmOTZkMTQ0NjhhMGZfNC0zLTEtMS0w_4b54b5d7-f58b-42f1-9e3b-fb4f95a59954"
      unitRef="usd">20552000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:NatureOfOperations
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zNy9mcmFnOjY1ZGNlNGRhNjVjNzRjMmM5ZGZiZjljN2E0NWIzM2M2L3RleHRyZWdpb246NjVkY2U0ZGE2NWM3NGMyYzlkZmJmOWM3YTQ1YjMzYzZfMTk4OA_8f3ecefb-51b4-4141-86d6-7d1ec010a603">Nature of Business&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;AppFolio, Inc.'s (the "Company," &#x201c;we,&#x201d; "us" or "our") mission is to revolutionize vertical industry businesses by providing great software and services. We offer industry-specific, cloud-based business software solutions, services and data analytics to our customers. Although specific functionality varies by product, our core solutions address common business operations and interactions of our customers' businesses. In addition to our core solutions, we offer a range of optional, but often business-critical, Value+ services. Our Value+ services are built to enhance, automate and streamline processes and support workflows essential to our customers' businesses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;Our real estate software solutions represent approximately 90% of our revenue as of September 30, 2020. The significant majority of our customers in the real estate vertical use our property management solutions, which provide our property management customers, including third-party property managers and owner-operators who manage single- and multi-family residences, community associations, commercial properties, and student housing, as well as mixed real estate portfolios, with a system of record to automate essential business processes, a system of engagement to enhance business interactions between our customers and their clients and other stakeholders, and a system of intelligence designed to leverage data to predict and optimize business workflows in order to enable superior customer experiences and increase efficiency across our customers' businesses. We also provide software solutions to real estate investment managers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the periods covered by this Quarterly Report, we also provided software solutions and services to the legal vertical that enabled law firms to administer their practice and manage their caseloads more efficiently by centralizing case details in a single system of record and system of engagement.  &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; &lt;/span&gt;&lt;/div&gt;As previously disclosed, on September 30, 2020, the Company completed its divestiture of 100% of the issued and outstanding equity interests of MyCase, Inc. ("MyCase"), a former wholly owned subsidiary of the Company that provided such legal practice and case management software solutions to our legal customers. The Company sold MyCase to Mockingbird AcquisitionCo Inc., a Delaware corporation (&#x201c;Buyer&#x201d;) affiliated with funds advised by Apax Partners LLP, for $193.0&#160;million pursuant to a Stock Purchase Agreement, dated September 7, 2020 (the &#x201c;Purchase Agreement&#x201d;), by and among Buyer, the Company and MyCase (the &#x201c;MyCase Transaction&#x201d;). In connection with the closing of the MyCase Transaction, and in accordance with the terms of the Purchase Agreement, the Company and MyCase entered into certain ancillary agreements, including relating to certain post-closing transition services to be provided by the Company to MyCase at fair market value, as well as an intellectual property licensing agreement for certain software and patents for which no ongoing licensing fees will be received. We recognized a pre-tax gain on the sale of $187.6&#160;million on the MyCase Transaction.</us-gaap:NatureOfOperations>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4b03a220eb2143719e4581e0239309fc_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zNy9mcmFnOjY1ZGNlNGRhNjVjNzRjMmM5ZGZiZjljN2E0NWIzM2M2L3RleHRyZWdpb246NjVkY2U0ZGE2NWM3NGMyYzlkZmJmOWM3YTQ1YjMzYzZfMjE5OTAyMzI2NTA1OA_faea476a-30f5-4a28-9d53-aab593fdc0c4"
      unitRef="number">0.90</us-gaap:ConcentrationRiskPercentage1>
    <appf:DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary
      contextRef="i432b681290ef4cfeb1b81cef959620ab_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zNy9mcmFnOjY1ZGNlNGRhNjVjNzRjMmM5ZGZiZjljN2E0NWIzM2M2L3RleHRyZWdpb246NjVkY2U0ZGE2NWM3NGMyYzlkZmJmOWM3YTQ1YjMzYzZfMjE5OTAyMzI2NTA2OA_bce19b44-80e6-4e43-a9fc-f2db48552838"
      unitRef="number">1</appf:DisposalGroupIncludingDiscontinuedOperationOwnershipPercentageInDisposedSubsidiary>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i432b681290ef4cfeb1b81cef959620ab_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zNy9mcmFnOjY1ZGNlNGRhNjVjNzRjMmM5ZGZiZjljN2E0NWIzM2M2L3RleHRyZWdpb246NjVkY2U0ZGE2NWM3NGMyYzlkZmJmOWM3YTQ1YjMzYzZfMjE5OTAyMzI2NTA3NA_20d76d12-805a-49b5-add5-73710542a243"
      unitRef="usd">193000000.0</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax
      contextRef="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF8zNy9mcmFnOjY1ZGNlNGRhNjVjNzRjMmM5ZGZiZjljN2E0NWIzM2M2L3RleHRyZWdpb246NjVkY2U0ZGE2NWM3NGMyYzlkZmJmOWM3YTQ1YjMzYzZfMTA5OTUxMTYzNzg3MQ_e8f19d18-de42-497d-a2cb-2434c7d681a4"
      unitRef="usd">187600000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfOTY1NQ_74337693-1f15-43e3-8115-c2b47ad1e4db">Summary of Significant Accounting Policies&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 were prepared in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) for interim financial information. Certain information and disclosures normally included in consolidated financial statements prepared in accordance with GAAP have been condensed or omitted. Accordingly, these Condensed Consolidated Financial Statements should be read in conjunction with our audited consolidated financial statements and the related notes included in our Annual Report, which was filed with the SEC on March 2, 2020. The year-end condensed balance sheet was derived from our audited consolidated financial statements. Our unaudited interim Condensed Consolidated Financial Statements include, in the opinion of management, all adjustments, consisting of normal and recurring items, necessary for the fair statement of our Condensed Consolidated Financial Statements. The operating results for the nine months ended September&#160;30, 2020 are not necessarily indicative of the results expected for the full year ending December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Reclassifications&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash from investing activities section in the prior year to conform to the current year's presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Changes in Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Except as described below under&#160;&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;Recently Adopted Accounting Pronouncements&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;, there have been no significant changes in our accounting policies from those disclosed in our annual consolidated financial statements and the related notes included in our Annual Report.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, and valuation and assumptions underlying stock-based compensation and other equity instruments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;During early calendar year 2020, the novel coronavirus disease ("COVID-19") spread globally, including to every state in the United States.&#160;The global pandemic has created and may continue to create significant uncertainty in a wide variety of industries and markets and has prompted many federal, state, local, and foreign governments to adopt various orders and restrictions in an attempt to control the spread and mitigate the impact of the disease, which may reduce demand for our core solutions and/or Value+ services, impact the productivity of our workforce, reduce our access to capital, and harm our business and results of operations. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may only exacerbate potential harm to our business and results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of September&#160;30, 2020 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 the date of our Condensed Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our financial statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Net Income per Common Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Net income per common share was the same for shares of our Class A and Class B common stock because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below. The following table presents a reconciliation of the weighted average number of shares of our Class A and Class B common stock used to compute net income per common share (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight: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:8pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,995&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Weighted average unvested restricted shares subject to repurchase&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding; basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,241&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding; diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 and nine months ended September&#160;30, 2020 and 2019, an aggregate of 130,000 and 361,000 shares, respectively, underlying performance-based stock options ("PSOs") and performance-based restricted stock units ("PSUs") were not included in the computations of diluted and anti-dilutive shares as they are considered contingently issuable upon the satisfaction of pre-defined performance measures and their respective performance measures have not been met.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units ("RSUs") with an anti-dilutive effect were excluded from the calculation of weighted average number of shares used to compute diluted net income per common share and they were not material for the three and nine months ended September&#160;30, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU No. 2018-15,&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;&#160;Intangibles&#x2014;Goodwill and Other&#x2014;Internal-Use Software (Subtopic 350-40): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract &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;("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In December 2019, the FASB issued ASU No. 2019-12,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. This guidance is effective for interim and annual periods beginning after December 15, 2020 with early adoption permitted. We do not expect the adoption of this guidance to have a material impact on our financial condition, results of operations, cash flows or disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfOTY0Mg_e463ccc9-f5bc-4d1f-b3d4-168e841dca6b">Basis of Presentation and Significant Accounting PoliciesThe accompanying unaudited Condensed Consolidated Financial Statements were prepared in accordance with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) for interim financial information. Certain information and disclosures normally included in consolidated financial statements prepared in accordance with GAAP have been condensed or omitted. Accordingly, these Condensed Consolidated Financial Statements should be read in conjunction with our audited consolidated financial statements and the related notes included in our Annual Report, which was filed with the SEC on March 2, 2020. The year-end condensed balance sheet was derived from our audited consolidated financial statements. Our unaudited interim Condensed Consolidated Financial Statements include, in the opinion of management, all adjustments, consisting of normal and recurring items, necessary for the fair statement of our Condensed Consolidated Financial Statements.</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfOTY2NA_1e78a060-3923-441b-b807-00336ab28533">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Reclassifications&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We reclassified certain amounts in our Condensed Consolidated Statements of Cash Flows within the cash from investing activities section in the prior year to conform to the current year's presentation.&lt;/span&gt;&lt;/div&gt;</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:UseOfEstimates
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfOTY1MA_15e3a232-da4f-4bf2-b242-cc7d51d773cd">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the dates of the financial statements, and the reported amounts of revenue, expenses, other income, and provision for income taxes during the reporting period. Assets and liabilities which are subject to judgment and use of estimates include the fair value of assets and liabilities assumed in business combinations, fair value of financial instruments, capitalized software costs, period of benefit associated with deferred costs, incremental borrowing rate used to measure operating lease liabilities, the recoverability of goodwill and long-lived assets, income taxes, useful lives associated with property and equipment and intangible assets, contingencies, and valuation and assumptions underlying stock-based compensation and other equity instruments. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;During early calendar year 2020, the novel coronavirus disease ("COVID-19") spread globally, including to every state in the United States.&#160;The global pandemic has created and may continue to create significant uncertainty in a wide variety of industries and markets and has prompted many federal, state, local, and foreign governments to adopt various orders and restrictions in an attempt to control the spread and mitigate the impact of the disease, which may reduce demand for our core solutions and/or Value+ services, impact the productivity of our workforce, reduce our access to capital, and harm our business and results of operations. These potential impacts are only amplified by the length of time they remain in place, as the cumulative effect upon our customers and their businesses may only exacerbate potential harm to our business and results of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In light of the unknown duration and severity of COVID-19, we face a greater degree of uncertainty than normal in making the judgments and estimates needed to apply our significant accounting policies. We assessed certain accounting matters that generally require consideration of forecasted financial information in context with the information reasonably available to us and the unknown future impacts of COVID-19 as of September&#160;30, 2020 and through the date of this report. The accounting matters assessed included, but were not limited to, our allowance for credit losses, the carrying value of goodwill and other long-lived assets, performance-based compensation and income taxes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 the date of our Condensed Consolidated Financial Statements, we are not aware of any specific event or circumstance that would require us to update our estimates or judgments or to revise the carrying value of our assets or liabilities. However, these estimates and judgments may change as new events occur and additional information is obtained, which may result in changes being recognized in our consolidated financial statements in future periods. While we considered the effects of COVID-19 in our estimates and assumptions, due to the level of uncertainty regarding the economic and operational impacts of COVID-19 on our business, there may be other judgments and assumptions that we have not considered. Such judgments and assumptions could result in a meaningful impact on our financial statements in future periods. Actual results could differ from those estimates and any such differences may have a material impact on our financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfOTYzMg_60bf4fd3-8d0a-4772-9748-8c2ab0fb1d92">Net Income per Common ShareNet income per common share was the same for shares of our Class A and Class B common stock because they are entitled to the same liquidation and dividend rights and are therefore combined in the table below.</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfOTY2MQ_3e461045-3457-457c-ba77-4e0748b166ea">The following table presents a reconciliation of the weighted average number of shares of our Class A and Class B common stock used to compute net income per common share (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight: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:8pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,995&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Weighted average unvested restricted shares subject to repurchase&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding; basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,241&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Plus:  Weighted average options, restricted stock units and restricted shares used to compute diluted net income per common share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,374&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average common shares outstanding; diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,421&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,406&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMi0yLTEtMS0w_f8609f9b-d42f-4443-8b26-66efef6b90d8"
      unitRef="shares">34301000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMi00LTEtMS0w_a623d98f-996e-4a58-94aa-4037adf88c60"
      unitRef="shares">34050000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMi02LTEtMS0w_70bd0e91-e317-4948-9ab0-c6870fc31271"
      unitRef="shares">34246000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMi04LTEtMS0w_c4ef8fbe-4730-443c-acc2-d60e71a6dfc3"
      unitRef="shares">33995000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMy0yLTEtMS0w_096c1fd3-c841-4b0c-a7d5-4b6e4f84a72e"
      unitRef="shares">5000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMy00LTEtMS0w_f4f714c1-2f90-4df5-8ca8-ad8577273e58"
      unitRef="shares">3000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMy02LTEtMS0w_1173bc9f-8869-4344-91c1-19394879115b"
      unitRef="shares">5000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMy04LTEtMS0w_bda488e2-3ed5-4a4a-8097-989ed4703341"
      unitRef="shares">4000</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfNC0yLTEtMS0w_24aedad2-066f-42e4-825c-acc8552d4f7d"
      unitRef="shares">34296000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfNC00LTEtMS0w_8ef9bbaa-0786-4d64-9c8b-601cb028f379"
      unitRef="shares">34047000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfNC02LTEtMS0w_f7e2d605-1e8f-4645-bf58-09db40c445c2"
      unitRef="shares">34241000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfNC04LTEtMS0w_0c028b4c-b991-4e2d-aed3-0c01400988f3"
      unitRef="shares">33991000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMTEtMi0xLTEtMA_9a71dd0d-02a3-42a4-bd4e-51c529bbe6dc"
      unitRef="shares">1369000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMTEtNC0xLTEtMA_b52acb72-c32c-4365-bcbe-22ca0e2a4e37"
      unitRef="shares">1374000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMTEtNi0xLTEtMA_7d71afba-47b2-4b09-87a2-a5ebaed4942e"
      unitRef="shares">1421000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMTEtOC0xLTEtMA_903a8fd0-1d13-4aa4-ba18-58fe452cf7c1"
      unitRef="shares">1415000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMTItMi0xLTEtMA_9458ab99-c1d4-40aa-800f-f0d13209942f"
      unitRef="shares">35665000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMTItNC0xLTEtMA_56763914-91ad-4ecc-8822-5fd7f0cde30a"
      unitRef="shares">35421000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMTItNi0xLTEtMA_438b483f-324c-490f-bec9-4eabfc3aad2a"
      unitRef="shares">35662000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RhYmxlOjJhYjIzZDc3Yzk3ZDQ5NTg4MTYzNWEyMDdjMzA1MTliL3RhYmxlcmFuZ2U6MmFiMjNkNzdjOTdkNDk1ODgxNjM1YTIwN2MzMDUxOWJfMTItOC0xLTEtMA_1570e829-d887-4be1-90a7-0a7388730196"
      unitRef="shares">35406000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ibcf730ec50d6435d951b69e41610cbe2_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfNTY0NA_457dfaa8-c83e-453e-ad02-fe68ed9508ad"
      unitRef="shares">130000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i8120fde26b2d4224bec180ccfa4706fb_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfNTY0NA_906adfea-fe0f-4211-8049-88e325e7bf37"
      unitRef="shares">130000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="id62c59795a524e75b11f84d78b0965a7_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfNTY1MQ_757e16f6-be13-4d8e-aa63-7c238ef0c683"
      unitRef="shares">361000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ib507d0ec2b4b40d6aa6b9ea04935aa8c_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfNTY1MQ_f4d83cd6-b4d6-4815-9df3-11e35b8efb22"
      unitRef="shares">361000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80MC9mcmFnOjJjMzBkYTdmZGMwMzQ1ZmI5MTU3MGRhZjExZWI2NjBlL3RleHRyZWdpb246MmMzMGRhN2ZkYzAzNDVmYjkxNTcwZGFmMTFlYjY2MGVfOTY2Ng_21fec366-8b20-4938-bbf7-44efce9e6f47">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") No. 2016-13,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;("ASU 2016-13"), which amends the current accounting guidance and requires the measurement of all expected losses based on historical experience, current conditions and reasonable and supportable forecasts. This guidance amends the accounting for credit losses for available-for-sale investment securities and purchased financial assets with credit deterioration. We adopted ASU 2016-13 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2018, the FASB issued ASU No. 2018-15,&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;&#160;Intangibles&#x2014;Goodwill and Other&#x2014;Internal-Use Software (Subtopic 350-40): Customer&#x2019;s Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract &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;("ASU 2018-15"), a series of amendments which align the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software (and hosting arrangements that include an internal use software license). The accounting for the service element of a hosting arrangement that is a service contract is not affected by these amendments. We adopted ASU 2018-15 on January 1, 2020. The adoption of this guidance did not have a material impact on our financial condition, results of operations, cash flows or disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In December 2019, the FASB issued ASU No. 2019-12,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;("ASU 2019-12").&#160;This amendment was issued to simplify the accounting for income taxes by removing certain exceptions for recognizing deferred taxes, performing intraperiod allocation, and calculating income taxes in interim periods. Further, ASU 2019-12 adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax basis goodwill and allocating taxes to members of a consolidated group. This guidance also requires an entity to reflect the effect of an enacted change in tax laws or rates in its effective income tax rate in the first interim period that includes the enactment date of the new legislation, aligning the timing of recognition of the effects from enacted tax law changes on the effective income tax rate with the effects on deferred income tax assets and liabilities. Under existing guidance, an entity recognizes the effects of the enacted tax law change on the effective income tax rate in the period that includes the effective date of the tax law. This guidance is effective for interim and annual periods beginning after December 15, 2020 with early adoption permitted. We do not expect the adoption of this guidance to have a material impact on our financial condition, results of operations, cash flows or disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMjc0NA_3754a580-652b-4024-b73a-73a9cd4ca480">Divestitures and Business Combinations&lt;div style="margin-top:3pt;text-indent:36pt"&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;Divestiture of MyCase&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September 30, 2020, we completed the MyCase Transaction for $193.0&#160;million, consisting of $192.2&#160;million of cash proceeds, plus a $2.2&#160;million employee retention bonus pool funded by the Company, less cash divested of $0.8&#160;million and a preliminary working capital adjustment of $0.6&#160;million. The retention bonus pool is refundable to the Company to the extent that MyCase employees are terminated prior to the retention period, which is one year from the closing date of the MyCase Transaction. A portion of the cash proceeds was used to pay all outstanding borrowings under the Credit Facility. Refer to Note 8, &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;Long-Term Debt,&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; of our Condensed Consolidated Financial Statements for more information about the termination of the Credit Facility. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 a pre-tax gain on the sale of $187.6&#160;million on the MyCase Transaction, consisting of cash proceeds of $192.2&#160;million, less net assets divested of $4.6&#160;million. Net assets divested is primarily comprised of capitalized software of $3.9&#160;million, deferred revenue of $2.8&#160;million and goodwill allocated to MyCase of $2.3&#160;million. The gain on the sale is included within &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;Other income (expense), net&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; in our Condensed Consolidated Statements of Operations. Income received in relation to the transition services to be provided by the Company to MyCase will be included within &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;Other income (expense), net&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; in our Condensed Consolidated Statements of Operations. Refer to Note 1, &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;Nature of Business&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;, of our Condensed Consolidated Financial Statements for more information about the MyCase Transaction. &lt;/span&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;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Acquisition of Dynasty&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 7, 2019, we acquired&#160;100%&#160;of the voting equity interest of Dynasty Marketplace, Inc. ("Dynasty") for $60.2 million, of which $6.0&#160;million (the "Holdback Amount") was retained by the Company to satisfy any necessary adjustments, including without limitation certain indemnification claims. The balance of the Holdback Amount, less any amount retained with respect to any unresolved indemnification claims, was released to the stockholders of Dynasty on January 10, 2020 in accordance with the terms of the purchase agreement. Dynasty is a provider of advanced artificial intelligence solutions for the real estate vertical, which automate leasing communications, replace manual tasks and help customers grow their portfolios. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The transaction was accounted for using the acquisition method and, as a result, assets acquired and liabilities assumed were recorded at their estimated fair values as of the acquisition date. Determining the fair value of assets acquired and liabilities assumed requires management to make significant judgments and estimates, including the selection of valuation methodologies and comparable companies, estimates of future revenue and cash flows, discount rates, and the software decay rate and database ramp up rate. The following table summarizes the final purchase price allocation (in thousands), as well as the estimated useful lives of the acquired intangible assets over which they are amortized on a straight-line basis, as this approximates the pattern in which we expect the economic benefits will be consumed:  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.187%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.244%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amount &lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Useful Life (in years)&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;Total current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Identified intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 11.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;Technology&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,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 11.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;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Backlog&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 11.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;Trademark &amp;amp; trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Non-compete agreement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 intangible assets subject to amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align: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.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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;42,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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;Other noncurrent assets&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;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued and other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liability, net &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 mainly attributable to synergies expected from the acquisition and assembled workforce and is non-deductible for U.S. federal income tax purposes. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 a total of $0.3 million in transaction costs related to the acquisition and expensed all transaction costs incurred during the period in which such service was received. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Pro Forma Results &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 unaudited pro forma information has been prepared for illustrative purposes only, and assumes that the aforementioned Dynasty acquisition occurred on January 1, 2018, and includes pro forma adjustments related to the amortization of acquired intangible assets, elimination of historical interest and amortization expense, income taxes, compensation arrangements, and the transaction costs incurred. The unaudited pro forma results have been prepared based on estimates and assumptions, which we believe are reasonable; however, they are not necessarily indicative of the consolidated results of operations had the acquisitions occurred at the beginning of the periods presented, or of future results of operations. The unaudited pro forma results are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.707%"/&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.765%"/&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.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended September 30, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&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;67,935&#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;188,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration
      contextRef="i432b681290ef4cfeb1b81cef959620ab_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzMzc4MA_2dc9d08e-81c4-4c35-bb9e-fcc10c5d938d"
      unitRef="usd">193000000.0</us-gaap:DisposalGroupIncludingDiscontinuedOperationConsideration>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzMzc5OQ_2be98d64-fd80-493c-8cb6-ce9349d3e050"
      unitRef="usd">192200000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1
      contextRef="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzMzgyOA_4b941bb6-a0ec-4e57-b234-84836d07b94c"
      unitRef="usd">2200000</us-gaap:NoncashOrPartNoncashDivestitureAmountOfConsiderationReceived1>
    <us-gaap:CashDivestedFromDeconsolidation
      contextRef="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzMzkwNw_9c378ca3-b3bb-4162-87cc-4e9ae6835be0"
      unitRef="usd">800000</us-gaap:CashDivestedFromDeconsolidation>
    <appf:DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment
      contextRef="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzMzk1OQ_c4c9689b-ac21-4c12-9ac3-220307aee44e"
      unitRef="usd">600000</appf:DisposalGroupIncludingDiscontinuedOperationWorkingCapitalAdjustment>
    <appf:DisposalGroupIncludingDiscontinuedOperationRetentionPeriod
      contextRef="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMjE5OTAyMzI2MzAwMw_61c1fdd9-8769-48ff-8b5f-0845ddbb59fc">P1Y</appf:DisposalGroupIncludingDiscontinuedOperationRetentionPeriod>
    <us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax
      contextRef="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzNDQ1MQ_e8f19d18-de42-497d-a2cb-2434c7d681a4"
      unitRef="usd">187600000</us-gaap:DiscontinuedOperationGainLossFromDisposalOfDiscontinuedOperationBeforeIncomeTax>
    <us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries
      contextRef="i1f22963dadde486aa2cabaf89d01bbd2_D20200930-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzNDUxMw_2be98d64-fd80-493c-8cb6-ce9349d3e050"
      unitRef="usd">192200000</us-gaap:ProceedsFromDivestitureOfInterestInConsolidatedSubsidiaries>
    <us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation
      contextRef="i432b681290ef4cfeb1b81cef959620ab_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzNDU0NQ_e46bbe24-46f2-4668-9822-0bf5b2dd3062"
      unitRef="usd">4600000</us-gaap:AssetsOfDisposalGroupIncludingDiscontinuedOperation>
    <appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware
      contextRef="i432b681290ef4cfeb1b81cef959620ab_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzNDYyMA_43afe337-ccb5-4b43-a4e4-eb5b0a9a0344"
      unitRef="usd">3900000</appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue
      contextRef="i432b681290ef4cfeb1b81cef959620ab_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzNDY0NQ_bd7778c9-5a9e-489d-8f7c-50b0c31be5b7"
      unitRef="usd">2800000</us-gaap:DisposalGroupIncludingDiscontinuedOperationDeferredRevenue>
    <us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwill1
      contextRef="i432b681290ef4cfeb1b81cef959620ab_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTA5OTUxMTYzNDY4NQ_eafee28c-0d84-4b4b-bfb1-0a8afbf4f4a0"
      unitRef="usd">2300000</us-gaap:DisposalGroupIncludingDiscontinuedOperationGoodwill1>
    <us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfODc_837b6f6b-a392-4e7c-b2fd-f5e607c2ac47"
      unitRef="number">1</us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired>
    <us-gaap:BusinessCombinationConsiderationTransferred1
      contextRef="ica21c79ba0c24dcbade45b01733a7ba6_D20190107-20190107"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTY1_88160038-3bcf-4fb3-97b8-e4fee71dafce"
      unitRef="usd">60200000</us-gaap:BusinessCombinationConsiderationTransferred1>
    <appf:BusinessCombinationAmountHeldForAdjustments
      contextRef="ica21c79ba0c24dcbade45b01733a7ba6_D20190107-20190107"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTc4_becd3b97-a6bf-4500-a15b-f23fef95e7d2"
      unitRef="usd">6000000.0</appf:BusinessCombinationAmountHeldForAdjustments>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMjc0Ng_a9560e5b-5e3e-411b-b80c-af8318892070">The following table summarizes the final purchase price allocation (in thousands), as well as the estimated useful lives of the acquired intangible assets over which they are amortized on a straight-line basis, as this approximates the pattern in which we expect the economic benefits will be consumed:  &lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.187%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.803%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.244%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amount &lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Useful Life (in years)&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;Total current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Identified intangible assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 11.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;Technology&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,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,710&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 11.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;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Backlog&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 11.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;Trademark &amp;amp; trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,390&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Non-compete agreement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 intangible assets subject to amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align: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.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&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;42,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Indefinite&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;Other noncurrent assets&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;35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets acquired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued and other liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liability, net &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities assumed&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,759&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Purchase consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMS0yLTEtMS0w_22844cef-d3a0-49c7-950f-7a4e70dcb048"
      unitRef="usd">305000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="iccf65c08b5b44770b25ecbc81ccae81d_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMy0yLTEtMS0w_3abd7538-e3a3-4a46-bcef-8b0797d23743"
      unitRef="usd">5730000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i6c851874a4ee4cf4adafd572f4f4b7e0_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMy00LTEtMS0w_9485e033-495e-4646-8d7d-4d35091d7fdf">P4Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i6707b27a5f954e93ba4246c157042cd4_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfNC0yLTEtMS0w_1881089a-2c0c-40e5-8e20-1cd1e30dd5a1"
      unitRef="usd">4710000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i3dc5ca77bdac4f36aca6dd656dffde22_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfNC00LTEtMS0w_ad4ae438-6055-4b73-b37c-376828e34762">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i8d6d474e54dd4a74b090201cfbeefce8_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfNS0yLTEtMS0w_3dbd9012-d28c-470b-88c1-7b205846ce1e"
      unitRef="usd">1110000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i86ee55dc6df043d59817556044870a40_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfNS00LTEtMS0w_491aee74-7b1d-4668-9fa4-b0f21c2089b5">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i4cd40ae64a6a4d69b4bc9b4c1c067705_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfNi0yLTEtMS0w_75b757d5-b718-46ae-86d2-e817df012ac1"
      unitRef="usd">470000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i52fe21ee68cc475e82a94cc7c9a21cec_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfNi00LTEtMS0w_3d3b344d-a6ee-4415-8102-81e553e8fe96">P1Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i4c5d91e4f4f04f888158609690347d5b_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfNy0yLTEtMS0w_56b91231-fa0d-4a0d-a770-5e42add34c46"
      unitRef="usd">1390000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i51b458cbdd8d46a4b5ce484c6eb79171_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfNy00LTEtMS0w_91c0244c-7b63-48bd-8ec2-b31ace47582b">P10Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i986d5512128540caa4dfa36880960fd4_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfOC0yLTEtMS0w_0567ab2c-b507-4a09-9190-6d24c9ed2295"
      unitRef="usd">7340000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ifc0d322d6c3247e0b0543820bd0f4929_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfOC00LTEtMS0w_fbb5aa13-3893-4e82-9eb4-e1894435304e">P5Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfOS0yLTEtMS0w_7ad84b1f-7ae4-4a99-88f0-57470239c994"
      unitRef="usd">20750000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="ica21c79ba0c24dcbade45b01733a7ba6_D20190107-20190107"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfOS00LTEtMS0w_b2369d72-b4e8-47d7-b543-90eb02780c91">P6Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:Goodwill
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMTAtMi0xLTEtMA_f1192513-9248-4fa0-9989-1037f30810cb"
      unitRef="usd">42877000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMTEtMi0xLTEtMA_c816334e-8245-40b5-a971-7398433d36c9"
      unitRef="usd">35000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMTItMi0xLTEtMA_c071bd36-fc31-4800-980d-8dae749b1a4a"
      unitRef="usd">63967000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMTQtMi0xLTEtMA_910aa93a-db5e-4910-be13-8361b46ca455"
      unitRef="usd">48000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMTUtMi0xLTEtMA_15b99883-97ad-4a8c-9642-ff9a0c3ceeab"
      unitRef="usd">3711000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMTYtMi0xLTEtMA_661b0766-0071-4254-9922-1c4860623e11"
      unitRef="usd">3759000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjcyYTg3MzcyN2M1MTQ1ZDE4YTVmNjlmMWI5ZmE0ZDgyL3RhYmxlcmFuZ2U6NzJhODczNzI3YzUxNDVkMThhNWY2OWYxYjlmYTRkODJfMTctMi0xLTEtMA_cbb62a0a-e93c-410a-bb8b-855f9dc03591"
      unitRef="usd">60208000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts
      contextRef="id9530fc7b22444eba83d12548968b096_I20190107"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMTc3OQ_c6a1e4ef-a6f5-437e-a612-59381df26d5e"
      unitRef="usd">300000</us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RleHRyZWdpb246NTdmNWYwMjMyNTBhNDExOGFlMWU4MmU5ODQ2ZWFlN2JfMjc1MA_92158d37-ea6c-4c2d-adfe-eac598b91eea">The unaudited pro forma results are as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:71.707%"/&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.765%"/&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.768%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Three Months Ended September 30, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&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;67,935&#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;188,685&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,978&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjY1NWQ0NTM5NDQwOTQxZDk5YjBiYWFjMzdhNmM3NjAyL3RhYmxlcmFuZ2U6NjU1ZDQ1Mzk0NDA5NDFkOTliMGJhYWMzN2E2Yzc2MDJfMi00LTEtMS0w_cd52aba3-9a18-4414-8a7e-d7bbd267ca14"
      unitRef="usd">67935000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjY1NWQ0NTM5NDQwOTQxZDk5YjBiYWFjMzdhNmM3NjAyL3RhYmxlcmFuZ2U6NjU1ZDQ1Mzk0NDA5NDFkOTliMGJhYWMzN2E2Yzc2MDJfMi04LTEtMS0w_9c449187-a36d-4b75-a238-9bb1e9daee7e"
      unitRef="usd">188685000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjY1NWQ0NTM5NDQwOTQxZDk5YjBiYWFjMzdhNmM3NjAyL3RhYmxlcmFuZ2U6NjU1ZDQ1Mzk0NDA5NDFkOTliMGJhYWMzN2E2Yzc2MDJfMy00LTEtMS0w_19909492-62bd-4ecd-acd2-28b9d7206a4b"
      unitRef="usd">4978000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80My9mcmFnOjU3ZjVmMDIzMjUwYTQxMThhZTFlODJlOTg0NmVhZTdiL3RhYmxlOjY1NWQ0NTM5NDQwOTQxZDk5YjBiYWFjMzdhNmM3NjAyL3RhYmxlcmFuZ2U6NjU1ZDQ1Mzk0NDA5NDFkOTliMGJhYWMzN2E2Yzc2MDJfMy04LTEtMS0w_bfddecb0-5443-421c-b5b4-4f3cb9b2b0eb"
      unitRef="usd">27911000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfNDIyOA_cccdcfbd-8e4d-4c77-86bd-b8dd648140a8">Investment Securities and Fair Value Measurements&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Investment Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Investment securities classified as available-for-sale consisted of the following as of September&#160;30, 2020 and December&#160;31, 2019&#160;(in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;34,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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 available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:23pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For available-for-sale debt securities in an unrealized loss position, we first assess whether we intend to sell, or whether it is more likely than not that we will be required to sell the security before recovery of its amortized cost basis. If either of these criteria is met, the security&#x2019;s amortized cost basis is written down to fair value through income. For securities in an unrealized loss position that do not meet these criteria, we evaluate whether the decline in fair value has resulted from&#160;credit loss&#160;or other factors. If this assessment indicates a&#160;credit loss&#160;exists, the credit-related portion of the loss is recorded as an allowance for losses on the security. No allowance for credit losses for available-for-sale investment securities was recorded as of September&#160;30, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020 and December&#160;31, 2019, the contractual maturities of our investments did not exceed&#160;36 months. The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.226%"/&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:8pt;font-weight:700;line-height:100%"&gt;September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due in one year or less&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due after one year through three years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the nine months ended September&#160;30, 2020 and 2019, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.374%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Sales &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Maturities&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;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.374%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Maturities&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;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Interest income, net of the amortization and accretion of the premium and discount, was $0.1 million for each of the three months ended September&#160;30, 2020 and 2019, and $0.3 million and $0.5 million for the nine months ended September&#160;30, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Recurring Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial assets and financial liabilities are classified in their entirety based on the lowest level of input that is significant to the fair value measurement. The following tables summarize our financial assets measured at fair value on a recurring basis as of September&#160;30, 2020 and December&#160;31, 2019 by level within the fair value hierarchy (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&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.389%"/&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.389%"/&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.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.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;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.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;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Available-for-sale investment securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.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;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;3,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;3,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;34,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&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.389%"/&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.389%"/&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.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Available-for-sale investment securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 11.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;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of cash equivalents, restricted cash, accounts receivable, accounts payable and accrued liabilities approximate fair value because of the short maturity of these items. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The estimated fair value of the $50.0 million term loan issued by Wells Fargo Bank, National Association ("Wells Fargo"), as administrative agent, and the lenders that are parties thereto ("Term Loan") and the $50.0 million revolving credit facility made available to us by Wells Fargo and the lenders that are parties thereto ("Revolving Facility," and, together with the Term Loan, the "Credit Facility"), approximated their carrying values due to the variable interest rates. We considered the fair value of the Term Loan and the Revolving Facility to be Level 2 measurements as these debt instruments were not actively traded. We carried the Term Loan at face value less the unamortized discount. Refer to Note 8, &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;Long-Term Debt, &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;of our Condensed Consolidated Financial Statements for more information about our since-terminated Term Loan and Revolving Facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no changes to our valuation techniques used to measure financial asset and financial liability fair values on a recurring basis during the nine months ended September&#160;30, 2020. The valuation techniques for the financial assets in the tables above are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020 and December&#160;31, 2019, cash equivalents include cash invested in money market funds and treasury securities with a maturity of three months or less. Fair value is based on market prices for identical assets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Available-for-Sale Investment Securities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our Level 2 securities were priced by a pricing vendor. The pricing vendor utilizes the most recent observable market information in pricing these securities or, if specific prices are not available for these securities, other observable inputs like market transactions involving comparable securities are used.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Non-Recurring Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain assets, including goodwill, intangible assets and our note receivable with SecureDocs, Inc., are also subject to measurement at fair value on a non-recurring basis using Level 3 measurement, but only when they are deemed to be impaired. For the nine months ended September&#160;30, 2020 and 2019, no impairments were identified on those assets required to be measured at fair value on a non-recurring basis.&lt;/span&gt;&lt;/div&gt;</appf:InvestmentSecuritiesAndFairValueMeasurementsDisclosureTextBlock>
    <us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfNDI0Mg_6891b3b1-dfb8-4fe2-b453-0b1ec4da81af">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Investment securities classified as available-for-sale consisted of the following as of September&#160;30, 2020 and December&#160;31, 2019&#160;(in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,104&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;34,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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 available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:23pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.515%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.208%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Unrealized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,597&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ia7229a937b4145a4b7421261365953f2_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfMy0xLTEtMS0w_2759e9d6-6c42-47fe-bde2-728d687baafc"
      unitRef="usd">3104000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ia7229a937b4145a4b7421261365953f2_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfMy0zLTEtMS0w_fbd7d5b2-98dd-449b-8a9d-071f36aa8c85"
      unitRef="usd">34000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ia7229a937b4145a4b7421261365953f2_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfMy01LTEtMS0w_fde01fb3-51ca-4820-8183-afba3a25c2b0"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia7229a937b4145a4b7421261365953f2_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfMy03LTEtMS0w_7d0b3a76-449d-4c4b-96ce-2576c912ab25"
      unitRef="usd">3138000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="if21b35f02331481b9164622f429914a3_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfNS0xLTEtMS0w_d1066f86-5dbe-4f73-9f7e-fea9eccb8305"
      unitRef="usd">34618000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="if21b35f02331481b9164622f429914a3_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfNS0zLTEtMS0w_e83024b7-cf33-4319-8998-3c332b483731"
      unitRef="usd">68000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="if21b35f02331481b9164622f429914a3_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfNS01LTEtMS0w_b53b62f0-b369-421d-8aba-41b875b6635f"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if21b35f02331481b9164622f429914a3_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfNS03LTEtMS0w_226fb2f8-68af-4932-bddb-58a4ed2ca57a"
      unitRef="usd">34686000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfNi0xLTEtMS0w_af5caf12-85a4-4333-869f-c758c89c10eb"
      unitRef="usd">37722000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfNi0zLTEtMS0w_99c13a43-f17a-4de8-ac04-30d7869975e0"
      unitRef="usd">102000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfNi01LTEtMS0w_3ced9d66-3f27-4294-99d2-eb39b115cbe5"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU4MWFjOTMyZjk1MjQ1ZjU4NGM4MDcxZGI3YTdjYTI4L3RhYmxlcmFuZ2U6ZTgxYWM5MzJmOTUyNDVmNTg0YzgwNzFkYjdhN2NhMjhfNi03LTEtMS0w_d97feb85-8c4e-4713-8f30-07174c39bd24"
      unitRef="usd">37824000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ia79414ec96a6497b88ea17d9b5a7a767_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfMi0xLTEtMS0w_f157c667-6d91-4f7f-8be2-113dd8ee1d36"
      unitRef="usd">9597000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ia79414ec96a6497b88ea17d9b5a7a767_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfMi0zLTEtMS0w_6c4707e7-30f0-414f-b4d8-935b5215ef60"
      unitRef="usd">18000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ia79414ec96a6497b88ea17d9b5a7a767_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfMi01LTEtMS0w_0f1c5c22-fe24-420b-b137-3e58bddecb10"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia79414ec96a6497b88ea17d9b5a7a767_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfMi03LTEtMS0w_1eb5f778-bbd3-485e-a418-03074aba6dd4"
      unitRef="usd">9614000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i0428fcb57b1d4e529b2a6edd0dad6c37_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfMy0xLTEtMS0w_504809cc-d7cc-41c3-9d7e-6d8663e3dc34"
      unitRef="usd">11101000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i0428fcb57b1d4e529b2a6edd0dad6c37_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfMy0zLTEtMS0w_2858b9bd-6279-4b07-9b30-e98df2bcd8e0"
      unitRef="usd">17000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i0428fcb57b1d4e529b2a6edd0dad6c37_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfMy01LTEtMS0w_98bef060-3829-4899-86f1-e6b448ea3d9a"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0428fcb57b1d4e529b2a6edd0dad6c37_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfMy03LTEtMS0w_e19585aa-399b-4651-858f-f6ebf75afb15"
      unitRef="usd">11118000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i157cd45ffae04c7db410b034c13765ae_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfNS0xLTEtMS0w_2f1b3618-21ab-4454-83a3-678af9754a17"
      unitRef="usd">14222000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i157cd45ffae04c7db410b034c13765ae_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfNS0zLTEtMS0w_e0de68ea-74e3-45fa-a4b8-19e7afc928bc"
      unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i157cd45ffae04c7db410b034c13765ae_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfNS01LTEtMS0w_c2abc182-0977-4b9b-9766-a5a90ae21d8a"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i157cd45ffae04c7db410b034c13765ae_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfNS03LTEtMS0w_7fdc727a-78e1-4afa-a4de-a3436dd24763"
      unitRef="usd">14233000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfNi0xLTEtMS0w_56e2405e-00d4-4c18-9d33-581a3061caea"
      unitRef="usd">34920000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfNi0zLTEtMS0w_f07522a8-4c4b-4cc8-82f3-f2f1eb40b383"
      unitRef="usd">47000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfNi01LTEtMS0w_8be6d2b6-0c6c-48c1-9040-78064ac64683"
      unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM0NzIxMTBjNmM4NjQ3YjRiODU5NTA2OTA4MDBhOWEzL3RhYmxlcmFuZ2U6YzQ3MjExMGM2Yzg2NDdiNGI4NTk1MDY5MDgwMGE5YTNfNi03LTEtMS0w_fe53538f-0f58-4212-88f6-386f187592a6"
      unitRef="usd">34965000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <appf:AvailableForSaleSecuritiesMaximumContractualMaturity
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfMTA1Ng_3c1376bd-a8c1-44e6-bcdc-fcdf994a4fcf">P36M</appf:AvailableForSaleSecuritiesMaximumContractualMaturity>
    <appf:AvailableForSaleSecuritiesMaximumContractualMaturity
      contextRef="i7bc2b3e5e9a44a52b5ff769e1999b4b2_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfMTA1Ng_54fa00f5-2120-43cb-bbe4-abd52c08c687">P36M</appf:AvailableForSaleSecuritiesMaximumContractualMaturity>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfNDIzMA_b635f3ff-5d70-4de8-8541-78460b9f77b1">The fair values of available-for-sale investment securities, by remaining contractual maturity, are as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:43.263%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.226%"/&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:8pt;font-weight:700;line-height:100%"&gt;September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Amortized Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due in one year or less&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,846&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due after one year through three years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,064&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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 available-for-sale investment securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,920&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,965&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfMi0xLTEtMS0w_69ea34de-a4e6-4400-9370-a98eb96324ee"
      unitRef="usd">32658000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfMi0zLTEtMS0w_8a04a7c1-1232-47ff-bc36-1b549aa26186"
      unitRef="usd">32689000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfMi01LTEtMS0w_8cf92d29-4885-41b1-bc33-b91e8069e2c7"
      unitRef="usd">22846000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfMi03LTEtMS0w_e5cb2414-512b-4c0b-b17b-63c6ec155010"
      unitRef="usd">22876000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfMy0xLTEtMS0w_d6c69549-dc67-4498-82d9-be8dc56fe1a3"
      unitRef="usd">5064000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfMy0zLTEtMS0w_eb0346ee-d0d0-436e-a90c-20a76001e790"
      unitRef="usd">5135000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfMy01LTEtMS0w_894557fc-f722-49df-a32a-3a4fc973ff48"
      unitRef="usd">12074000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfMy03LTEtMS0w_0af40684-4bcd-43f5-9daa-f3e28713c835"
      unitRef="usd">12089000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfNC0xLTEtMS0w_57c53628-d8d5-4a92-b783-568d31983a34"
      unitRef="usd">37722000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfNC0zLTEtMS0w_ca3ccedb-7f71-41ed-998c-ecc85e4504ca"
      unitRef="usd">37824000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfNC01LTEtMS0w_2de52fe7-8746-42ec-b3dd-e2b564006949"
      unitRef="usd">34920000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjVkOTcwODBhNDBlMzRjZmM4MWUzNWMyMWQxOTRlMjA3L3RhYmxlcmFuZ2U6NWQ5NzA4MGE0MGUzNGNmYzgxZTM1YzIxZDE5NGUyMDdfNC03LTEtMS0w_8a23fde3-ae28-4b0d-ab58-fb72d6e48311"
      unitRef="usd">34965000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:ScheduleOfRealizedGainLossTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfNDIzNw_b30f31f0-b2e0-4b4d-8b44-a0cd2d94d1f2">&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the nine months ended September&#160;30, 2020 and 2019, we had sales and maturities (which include calls) of investment securities, as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.374%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Sales &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Maturities&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;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,006&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,878&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,900&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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,058&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,800&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,942&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.369%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.374%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Nine Months Ended September 30, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Gains&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Realized Losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Sales&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross Proceeds from Maturities&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;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRealizedGainLossTableTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i6645c96915e246c3bfce4705a2875ba9_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfMi0xLTEtMS0w_6add74a6-aae0-4964-bd48-4b1993017684"
      unitRef="usd">5000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i6645c96915e246c3bfce4705a2875ba9_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfMi0zLTEtMS0w_8c2f7fde-3057-4492-a482-b36ffbb7b007"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i6645c96915e246c3bfce4705a2875ba9_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfMi01LTEtMS0w_88d095f6-d1eb-4766-8ce4-5098da43069e"
      unitRef="usd">4006000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i6645c96915e246c3bfce4705a2875ba9_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfMi03LTEtMS0w_52f95611-1dff-43ad-addf-16562faf5548"
      unitRef="usd">5600000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="id04e528cac0844319db149aa4b9b9c02_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfMy0xLTEtMS0w_01476a1e-1ceb-4d65-82aa-a69dfb3049f5"
      unitRef="usd">25000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="id04e528cac0844319db149aa4b9b9c02_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfMy0zLTEtMS0w_7c3a7529-91f0-4b7a-bb2b-00caa478f29c"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="id04e528cac0844319db149aa4b9b9c02_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfMy01LTEtMS0w_196e3013-4216-4c8b-b623-aa460cb3e316"
      unitRef="usd">7878000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="id04e528cac0844319db149aa4b9b9c02_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfMy03LTEtMS0w_dca20476-dbcc-4a91-8966-c736bd959991"
      unitRef="usd">1900000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i8ff0a5e78f06487a89ebe432a9bc7d48_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfNS0xLTEtMS0w_4516f94c-cc60-4728-9ddb-de98812c6d9e"
      unitRef="usd">4000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i8ff0a5e78f06487a89ebe432a9bc7d48_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfNS0zLTEtMS0w_aeb1bb7a-a141-4b98-a922-1dac7b12cf40"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i8ff0a5e78f06487a89ebe432a9bc7d48_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfNS01LTEtMS0w_4227289d-e17f-4973-909b-fd6ffb515314"
      unitRef="usd">2058000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i8ff0a5e78f06487a89ebe432a9bc7d48_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfNS03LTEtMS0w_73e58ffd-8e97-4daf-ab94-72280ee13760"
      unitRef="usd">5800000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfNi0xLTEtMS0w_a6368ae5-cccf-438f-bcda-cc8ac05f3d61"
      unitRef="usd">34000</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfNi0zLTEtMS0w_21c1850e-60be-4c08-9e71-54139ba66235"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfNi01LTEtMS0w_63ea9412-1de0-4e6d-b693-d50012b0c673"
      unitRef="usd">13942000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmU0ZWJkZmI0MWE3YzQ3MDk4ZmQwMTZmY2IzMjQ4M2YzL3RhYmxlcmFuZ2U6ZTRlYmRmYjQxYTdjNDcwOThmZDAxNmZjYjMyNDgzZjNfNi03LTEtMS0w_42c3e26b-af10-4367-886b-5b45e29063f6"
      unitRef="usd">13300000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="i1373288fc06d4fe58d50978850f97749_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfMi0xLTEtMS0w_feba8736-036d-4149-b5c0-882b89a49fc1"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="i1373288fc06d4fe58d50978850f97749_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfMi0zLTEtMS0w_4ae06100-5974-47b1-98a8-101e472b2b20"
      unitRef="usd">1000</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="i1373288fc06d4fe58d50978850f97749_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfMi01LTEtMS0w_d06b6e29-b8f0-437a-8e00-8ff846b1a871"
      unitRef="usd">2750000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="i1373288fc06d4fe58d50978850f97749_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfMi03LTEtMS0w_64ebde65-7061-4e60-976a-bd600edcf703"
      unitRef="usd">8350000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="ic3e60a0ad5e8468dad87d89a0ae81d58_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfMy0xLTEtMS0w_e2558393-fd08-434f-bc91-6a135a208600"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="ic3e60a0ad5e8468dad87d89a0ae81d58_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfMy0zLTEtMS0w_a4fb3769-a55e-4a83-bafa-7307c37a40fd"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="ic3e60a0ad5e8468dad87d89a0ae81d58_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfMy01LTEtMS0w_86cf68a4-ee2a-4466-b9ee-4758ca62064d"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="ic3e60a0ad5e8468dad87d89a0ae81d58_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfMy03LTEtMS0w_01ea295a-000e-44a7-b2ed-ab8463b2183f"
      unitRef="usd">2650000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedGain
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfNi0xLTEtMS0w_07288d28-d2a6-4fca-bb27-6de8bdd96599"
      unitRef="usd">0</us-gaap:DebtSecuritiesAvailableForSaleRealizedGain>
    <us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfNi0zLTEtMS0w_6d8b04dc-2a4c-4023-a33d-2b655d4f4d65"
      unitRef="usd">1000</us-gaap:DebtSecuritiesAvailableForSaleRealizedLoss>
    <us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfNi01LTEtMS0w_53f8be64-7b96-4e88-9579-5296ef880910"
      unitRef="usd">2750000</us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOmM1YTIxMGJkZTFmZDQ3ZDQ5OTJhMTI2MjFmYWFlOTBjL3RhYmxlcmFuZ2U6YzVhMjEwYmRlMWZkNDdkNDk5MmExMjYyMWZhYWU5MGNfNi03LTEtMS0w_31476128-856a-4d28-9c06-2a1b240b0afa"
      unitRef="usd">11000000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfMTQyNQ_18eb749a-6cd6-4230-9861-31a3a6f00af2"
      unitRef="usd">100000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfMTQyNQ_b3b127c9-8412-4e5c-ba18-8014683eea8c"
      unitRef="usd">100000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfMTQ5MQ_726996a9-ebe1-4e60-ac32-18a4091f7c06"
      unitRef="usd">300000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfMTQ5OA_92292152-6f4f-4915-a6bb-4d094f0523d1"
      unitRef="usd">500000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfNDI0MQ_6ff248e9-5fed-4b84-855d-2112e766bd53">The following tables summarize our financial assets measured at fair value on a recurring basis as of September&#160;30, 2020 and December&#160;31, 2019 by level within the fair value hierarchy (in thousands):&lt;div style="margin-bottom:5pt;margin-top:17pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&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.389%"/&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.389%"/&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.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.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;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,781&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.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;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Available-for-sale investment securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.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;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;3,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;3,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align: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;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;34,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,067&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:17pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:42.741%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.389%"/&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.389%"/&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.389%"/&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.393%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level&#160;2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Total&#160;Fair&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Available-for-sale investment securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;9,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 11.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;Agency securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;11,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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;14,233&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8072d4eb60044ef4a85c9fd36188a358_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfMy0xLTEtMS0w_3f2c7805-01c7-45ff-b9fd-26f11af99c81"
      unitRef="usd">4781000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6b8ab037ec004d549a493056c7d0dc16_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfMy0zLTEtMS0w_429ca1ea-9a17-4e33-b740-58426b6043b8"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i2484f6502e0b468a973f1e6ceb56ec0e_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfMy01LTEtMS0w_df2fd368-deb0-4577-ab69-13e65750dc06"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="if7c3fa55c21a47f5a9cec6b498688cc9_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfMy03LTEtMS0w_4fea2887-611c-475f-9951-2962914d61d1"
      unitRef="usd">4781000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iadcc3ad155de4922821dbb1abea18144_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNC0xLTEtMS0w_5d4461e5-9118-440b-868c-eb766b8749bf"
      unitRef="usd">600000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4f390d68182d4646ba643477ff3026b0_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNC0zLTEtMS0w_a1d2ecf2-4da7-4fb5-b511-2f694463c592"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i2eabef5f49c14a27b0e984db4734b2f1_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNC01LTEtMS0w_62c2edf0-239b-49cf-a930-0796d60accf0"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i40c93766026c44308c9c5754f7224a89_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNC03LTEtMS0w_a40b3f0b-123d-4289-94f7-d825733157be"
      unitRef="usd">600000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i81d9645758a9459d9c6b3ed84cba95b2_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNi0xLTEtMS0w_9e4e82c0-cee5-42b0-8cd9-4c6fb57d809a"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3a3458e8f11f40fe945f2a73e48b22f7_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNi0zLTEtMS0w_6c0b5fee-d1d1-4909-a9c5-da21772a1fda"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0a6fd11afac04f279ed07434d7ba4fbe_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNi01LTEtMS0w_ffa540f9-307f-44b5-b7cb-b035e973c4b0"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2f1f511ae07a4af983e5c3cbabb27bc9_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNi03LTEtMS0w_411c7639-d224-42d4-9fb0-86cce9ef09e0"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3ed2089da0754b67a0175e0c1b7a7857_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNy0xLTEtMS0w_acb1cb01-ea1c-469a-bd91-bcd73f0d3221"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1daeae3017774f999dc7955ba0678c4d_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNy0zLTEtMS0w_45471926-cb05-49a2-8e78-6d492b0de17d"
      unitRef="usd">3138000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic56914634386476f9ca5c2f877e69363_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNy01LTEtMS0w_f4e62b77-27e9-4ca5-b28e-369baa57cef0"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0779d69c3182482bb93fe2e273fe84c1_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfNy03LTEtMS0w_a26a4408-f778-4dd6-b9c1-447a9121d6d7"
      unitRef="usd">3138000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="iadcc3ad155de4922821dbb1abea18144_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfOS0xLTEtMS0w_d2a178f3-87a0-4971-935f-ff0f9775083b"
      unitRef="usd">34686000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4f390d68182d4646ba643477ff3026b0_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfOS0zLTEtMS0w_08851baf-5eba-4051-998e-05194c594e83"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2eabef5f49c14a27b0e984db4734b2f1_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfOS01LTEtMS0w_c30dfe1a-7f3d-4c8c-8b4c-ff84060f1ba7"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i40c93766026c44308c9c5754f7224a89_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfOS03LTEtMS0w_94877ab4-b715-4aba-8dd6-1e01248353db"
      unitRef="usd">34686000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i36182e78846544da8745574e64fa6ed4_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfMTAtMS0xLTEtMA_e29a7c1f-58d4-45e1-9da9-fd5a01782898"
      unitRef="usd">40067000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i42c9485a04434fec97916bf9d3f60b7f_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfMTAtMy0xLTEtMA_6b21cf55-a641-4cb6-bc3d-00b57cb88b8e"
      unitRef="usd">3138000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i5459125bf93e4984a4caa35385055aa7_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfMTAtNS0xLTEtMA_917e32e3-e046-4ca0-b6d6-caa2d314c75a"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i5867cc15a9804241b9bb8412fef2111e_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjg0NTFiYzI0ODg5ZjQ3MGM5Yzk5YmNjNGJiZTk4NzA5L3RhYmxlcmFuZ2U6ODQ1MWJjMjQ4ODlmNDcwYzljOTliY2M0YmJlOTg3MDlfMTAtNy0xLTEtMA_152cbd1f-cdfe-4563-aa70-1a39d4814058"
      unitRef="usd">43205000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="id4c74dd688ea462b900c7731d0ed84ee_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfMy0xLTEtMS0w_a2dc6339-1400-403d-82e9-b2c728ef6690"
      unitRef="usd">337000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="idf0705c330914ea3a0bddd0fe725f45f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfMy0zLTEtMS0w_3c9e5a1a-5bad-467a-b15a-57e30e9ebb62"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4098c3f123ce4c90b7c8b6e933f8fc18_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfMy01LTEtMS0w_f71583ad-d833-48b5-9e01-55a1470a4a9b"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4e4cef4d596e4f55a1b95ba1ebf043c4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfMy03LTEtMS0w_30296557-d7f4-4d21-9e85-e418f0ebd4cd"
      unitRef="usd">337000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i967f7661527047e7b95e956249d487a3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfNS0xLTEtMS0w_8bb738d9-21ca-4720-9c57-6dbe8ae8a818"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4dcc1a0c2d47445185eeea359c37e48b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfNS0zLTEtMS0w_904361c2-7bfa-431e-8b4f-591a95484586"
      unitRef="usd">9614000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4fa14f84010843efb9bb73093d26be08_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfNS01LTEtMS0w_ff11ecc4-dd83-478a-83de-9ca5d545c187"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i93fbe716c1e24809b3735b78684848d3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfNS03LTEtMS0w_be813ea0-e7f3-4f64-a225-1f2dfb748998"
      unitRef="usd">9614000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i461372ce2970412491b94f058df0b8ef_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfNi0xLTEtMS0w_557aae6e-ef83-4cdf-a935-4db4c1589d5e"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ibde052b08d16437980b96d55f45cb89e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfNi0zLTEtMS0w_323c6da7-f014-4049-b70f-b61064d41a11"
      unitRef="usd">11118000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0e32845cc8494af7a98949b50df0bbf4_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfNi01LTEtMS0w_adb18182-48e3-4591-8fee-bb5d3e852f18"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i983404f0f37e4fada2193478c7101bda_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfNi03LTEtMS0w_573e511e-6be8-4a6a-84b6-2a0d7c96f324"
      unitRef="usd">11118000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic0b4c9791a57459795459eafed60b50d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfOC0xLTEtMS0w_20176761-6fb6-47b0-9d85-d912541272af"
      unitRef="usd">14233000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3b9823912d00405a941a12a697e7dccd_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfOC0zLTEtMS0w_7c657c51-14b2-4793-9422-add397bdf95d"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic84c546d54f9482d8265e47598d01875_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfOC01LTEtMS0w_f39cf374-5a92-49d1-b79c-079b91a26284"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib7a2f499fa3548bfba58becef1b44a1e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfOC03LTEtMS0w_7e5a5082-a8e9-41f5-ab25-3a88104341a3"
      unitRef="usd">14233000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ic0b4c9791a57459795459eafed60b50d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfOS0xLTEtMS0w_225faf9f-69f3-45c9-a738-43fff128a95f"
      unitRef="usd">14570000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i3b9823912d00405a941a12a697e7dccd_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfOS0zLTEtMS0w_af07ba44-1648-4a61-8720-58fc1c802f7d"
      unitRef="usd">20732000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ic84c546d54f9482d8265e47598d01875_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfOS01LTEtMS0w_56a96f82-496c-41eb-8640-e8b89535d1d5"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib7a2f499fa3548bfba58becef1b44a1e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RhYmxlOjI5ZWU0MjJmYTk2ZDQwN2ZhM2U1OTIyZmQ2Njg1N2Y0L3RhYmxlcmFuZ2U6MjllZTQyMmZhOTZkNDA3ZmEzZTU5MjJmZDY2ODU3ZjRfOS03LTEtMS0w_a80193b9-bc20-4cb6-8911-bc5e83e33d50"
      unitRef="usd">35302000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:DebtInstrumentFairValue
      contextRef="i20a143c366b048b9bce03b87d3415895_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfMjE3MQ_636c1476-fb2e-494b-a2f7-bf58ee452773"
      unitRef="usd">50000000.0</us-gaap:DebtInstrumentFairValue>
    <us-gaap:DebtInstrumentFairValue
      contextRef="id262dd191635457c82211fda035d0f72_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80Ni9mcmFnOmY1NWQ0ZDczOTYwZTQwODg4M2I0Y2JiODFmY2EwMDA5L3RleHRyZWdpb246ZjU1ZDRkNzM5NjBlNDA4ODgzYjRjYmI4MWZjYTAwMDlfMjMzOA_ec1f0af8-e80e-4f4d-a55f-dd381a7d82c6"
      unitRef="usd">50000000.0</us-gaap:DebtInstrumentFairValue>
    <us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfNjUz_15c13505-6d3f-42ad-9257-53bd87253fa7">Internal-Use Software Development Costs&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Internal-use software development costs as of September&#160;30, 2020 and December&#160;31, 2019 were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internal use software development costs, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Accumulated amortization&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;(56,908)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(51,452)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Internal use software development costs, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Capitalized software development costs were $6.9 million and $6.5 million for the three months ended September&#160;30, 2020 and 2019, respectively, and $20.8 million and $17.1 million for the nine months ended September&#160;30, 2020 and 2019, respectively. Amortization expense with respect to capitalized software development costs totaled $4.7 million and $3.6 million for the three months ended September&#160;30, 2020 and 2019, respectively, and $13.3 million and $10.0 million for the nine months ended September&#160;30, 2020 and 2019, respectively. During the three months ended September&#160;30, 2020, $3.9&#160;million in capitalized software development costs were divested in connection with the MyCase Transaction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future amortization expense with respect to capitalized software development costs as of September&#160;30, 2020 is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.864%"/&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.206%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years Ending December 31,&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;2020&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;4,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,677&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock>
    <appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfNjU3_32be7458-83fb-4219-8806-20deeb646cf9">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Internal-use software development costs as of September&#160;30, 2020 and December&#160;31, 2019 were as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.788%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Internal use software development costs, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,475&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Accumulated amortization&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;(56,908)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(51,452)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Internal use software development costs, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</appf:ScheduleOfCapitalizedComputerSoftwareTableTextBlock>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOjU4ZjZkMDhjNDQ4YTRlNDliMDk5OGE4M2UwOGNmNzNlL3RhYmxlcmFuZ2U6NThmNmQwOGM0NDhhNGU0OWIwOTk4YTgzZTA4Y2Y3M2VfMS0yLTEtMS0w_1125d3b2-a66d-480e-b688-19e21180c076"
      unitRef="usd">90451000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareGross
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOjU4ZjZkMDhjNDQ4YTRlNDliMDk5OGE4M2UwOGNmNzNlL3RhYmxlcmFuZ2U6NThmNmQwOGM0NDhhNGU0OWIwOTk4YTgzZTA4Y2Y3M2VfMS00LTEtMS0w_993922b0-a493-4699-8ffb-4aa06b2107c8"
      unitRef="usd">81475000</us-gaap:CapitalizedComputerSoftwareGross>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOjU4ZjZkMDhjNDQ4YTRlNDliMDk5OGE4M2UwOGNmNzNlL3RhYmxlcmFuZ2U6NThmNmQwOGM0NDhhNGU0OWIwOTk4YTgzZTA4Y2Y3M2VfMi0yLTEtMS0w_0dcfd33c-fd4e-4717-b966-5e7c6104dbdd"
      unitRef="usd">56908000</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOjU4ZjZkMDhjNDQ4YTRlNDliMDk5OGE4M2UwOGNmNzNlL3RhYmxlcmFuZ2U6NThmNmQwOGM0NDhhNGU0OWIwOTk4YTgzZTA4Y2Y3M2VfMi00LTEtMS0w_85158ccb-0a54-4886-947a-ba390d405dd4"
      unitRef="usd">51452000</us-gaap:CapitalizedComputerSoftwareAccumulatedAmortization>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOjU4ZjZkMDhjNDQ4YTRlNDliMDk5OGE4M2UwOGNmNzNlL3RhYmxlcmFuZ2U6NThmNmQwOGM0NDhhNGU0OWIwOTk4YTgzZTA4Y2Y3M2VfMy0yLTEtMS0w_d22ff035-e8b2-48b8-b99f-826ac4dac15e"
      unitRef="usd">33543000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOjU4ZjZkMDhjNDQ4YTRlNDliMDk5OGE4M2UwOGNmNzNlL3RhYmxlcmFuZ2U6NThmNmQwOGM0NDhhNGU0OWIwOTk4YTgzZTA4Y2Y3M2VfMy00LTEtMS0w_9ffd6db3-4591-4dff-a751-526783d15e13"
      unitRef="usd">30023000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfMTg2_fb1547d3-e73d-4f9e-9639-59a0f8856d04"
      unitRef="usd">6900000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfMTkz_9815c564-0ad0-407b-ba13-750ec1720d06"
      unitRef="usd">6500000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfMjUy_b19417a3-c2cf-492f-a38e-93f3edbf8ea0"
      unitRef="usd">20800000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAdditions
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfMjU5_78ced427-c7f5-4248-9965-5348b71529cb"
      unitRef="usd">17100000</us-gaap:CapitalizedComputerSoftwareAdditions>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfMzg0_5d4e1481-8717-431d-a0f9-252dd25a4768"
      unitRef="usd">4700000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfMzkx_9ea09aeb-72ab-406d-8538-5f81db6f0db2"
      unitRef="usd">3600000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfNDUw_a84c2870-f287-4221-a7ea-1fa809afc6cc"
      unitRef="usd">13300000</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <us-gaap:CapitalizedComputerSoftwareAmortization1
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfNDU3_c2c9e339-e26d-4a53-bde7-d4777b1d2bab"
      unitRef="usd">10000000.0</us-gaap:CapitalizedComputerSoftwareAmortization1>
    <appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware
      contextRef="i432b681290ef4cfeb1b81cef959620ab_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfMTA5OTUxMTYyODUwMQ_43afe337-ccb5-4b43-a4e4-eb5b0a9a0344"
      unitRef="usd">3900000</appf:DisposalGroupIncludingDiscontinuedOperationCapitalizedSoftware>
    <appf:ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RleHRyZWdpb246ODkwODBiMzkzZjdjNDc2NzhlNWNlOGY0OTZmZjE1NTBfNjQ2_48ca12e1-9a87-4760-b28d-97570de36389">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future amortization expense with respect to capitalized software development costs as of September&#160;30, 2020 is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.864%"/&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.206%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years Ending December 31,&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;2020&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;4,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,677&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,543&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</appf:ScheduleOfCapitalizedComputerSoftwareFutureAmortizationExpenseTableTextBlock>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOmU2MzlkYjA0ZDRiYTRlM2FhZjJkZDIwYTIxYTQ5MGRiL3RhYmxlcmFuZ2U6ZTYzOWRiMDRkNGJhNGUzYWFmMmRkMjBhMjFhNDkwZGJfMS0yLTEtMS0w_55850bc1-6559-4f79-af97-9e469beaffeb"
      unitRef="usd">4424000</appf:CapitalizedComputerSoftwareAmortizationExpenseRemainderofFiscalYear>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOmU2MzlkYjA0ZDRiYTRlM2FhZjJkZDIwYTIxYTQ5MGRiL3RhYmxlcmFuZ2U6ZTYzOWRiMDRkNGJhNGUzYWFmMmRkMjBhMjFhNDkwZGJfMi0yLTEtMS0w_1a161e57-6f61-412f-aa71-edc2e1e8544b"
      unitRef="usd">15834000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearOne>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearTwo
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOmU2MzlkYjA0ZDRiYTRlM2FhZjJkZDIwYTIxYTQ5MGRiL3RhYmxlcmFuZ2U6ZTYzOWRiMDRkNGJhNGUzYWFmMmRkMjBhMjFhNDkwZGJfMy0yLTEtMS0w_a4de1cee-c5c8-4e84-9603-ade90115bd62"
      unitRef="usd">10608000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearTwo>
    <appf:CapitalizedComputerSoftwareAmortizationExpenseYearThree
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOmU2MzlkYjA0ZDRiYTRlM2FhZjJkZDIwYTIxYTQ5MGRiL3RhYmxlcmFuZ2U6ZTYzOWRiMDRkNGJhNGUzYWFmMmRkMjBhMjFhNDkwZGJfNC0yLTEtMS0w_996aaf5e-9ca1-469c-a9c2-85ed2e8222c8"
      unitRef="usd">2677000</appf:CapitalizedComputerSoftwareAmortizationExpenseYearThree>
    <us-gaap:CapitalizedComputerSoftwareNet
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF80OS9mcmFnOjg5MDgwYjM5M2Y3YzQ3Njc4ZTVjZThmNDk2ZmYxNTUwL3RhYmxlOmU2MzlkYjA0ZDRiYTRlM2FhZjJkZDIwYTIxYTQ5MGRiL3RhYmxlcmFuZ2U6ZTYzOWRiMDRkNGJhNGUzYWFmMmRkMjBhMjFhNDkwZGJfNS0yLTEtMS0w_6de6f152-8e10-4a32-8447-d66556349b73"
      unitRef="usd">33543000</us-gaap:CapitalizedComputerSoftwareNet>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfNDIw_ca67d999-33b6-4b46-a1c6-b8364191c7ec">Intangible Assets and Goodwill&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&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 consisted of the following as of September&#160;30, 2020 and December&#160;31, 2019 (in thousands, except years):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&#160;Useful Life in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,436)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,578)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&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;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,250)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&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;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(633)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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;5.0&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;Partner relationships&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;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&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;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,594)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Domain names&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;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(68)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Patents&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;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(238)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,021&#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;(10,477)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align: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.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.196%"/&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:13.416%"/&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:13.122%"/&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:13.416%"/&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:13.418%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&#160;Useful Life in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,070&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,296)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,774&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(954)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&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;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,074)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.0&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;Partner relationships&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;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&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;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,484)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Domain names&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;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(276)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Patents&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;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(225)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Backlog&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(470)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,357)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,377&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align: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.2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&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 with respect to intangible assets totaled $1.2 million and $1.3 million for the three months ended September&#160;30, 2020 and 2019, respectively, and $3.7 million and $4.0 million for the nine months ended September&#160;30, 2020 and 2019, respectively. Future amortization expense with respect to intangible assets is estimated as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years Ending December 31,&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;2020&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;1,186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Our goodwill balance is solely attributed to acquisitions. As a result of the disposal of goodwill associated with the MyCase Transaction, we performed a goodwill impairment assessment as of September 30, 2020 on our remaining goodwill balance. There have been no impairment charges recorded against goodwill. The change in the carrying amount of goodwill during the nine months ended September&#160;30, 2020 is as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.664%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.518%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.418%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill at December 31, 2019&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;58,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill attributed to MyCase divestiture&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,278)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill at September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfNDIy_e3226a4a-5a29-47d7-bfe9-6a27eb4fd815">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&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 consisted of the following as of September&#160;30, 2020 and December&#160;31, 2019 (in thousands, except years):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:37.992%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.398%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&#160;Useful Life in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,436)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,578)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&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;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,539&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,250)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,289&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.0&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;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,890&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(633)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td 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;5.0&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;Partner relationships&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;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&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;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,594)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,806&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Domain names&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;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(68)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Patents&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;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(238)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,021&#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;(10,477)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align: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.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:38.196%"/&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:13.416%"/&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:13.122%"/&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:13.416%"/&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:13.418%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Gross&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Accumulated&lt;br/&gt;Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Net&#160;Carrying&lt;br/&gt;Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&#160;Useful Life in Years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer relationships&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,070&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,296)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,774&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Database&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(954)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0&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;Technology&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,074)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Trademarks and trade names&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(898)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,792&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.0&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;Partner relationships&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;680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(680)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.0&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;Non-compete agreements&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,484)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Domain names&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;301&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(276)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Patents&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;252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(225)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&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;Backlog&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;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(470)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,357)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,377&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align: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.2&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iff754fc11fe742e792713fa3792f8e08_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMi0yLTEtMS0w_093716dd-b46c-418a-a4e1-6c0550d4f459"
      unitRef="usd">2840000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iff754fc11fe742e792713fa3792f8e08_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMi00LTEtMS0w_0e4cd721-74ce-4e4d-bd3d-5db105197866"
      unitRef="usd">1436000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iff754fc11fe742e792713fa3792f8e08_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMi02LTEtMS0w_b8bcd85b-f9e4-45f8-bbf2-67526e0c735c"
      unitRef="usd">1404000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ibd948b105c9f43889b3c780f3f76f8c6_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMi04LTEtMS0w_168b1397-eb2a-447d-8c75-f9f61841d038">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i8eed7c8882f44682a6cd1935cd7ac8a6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMy0yLTEtMS0w_82f89a75-bedc-4390-8782-e4a8390ce93b"
      unitRef="usd">8330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i8eed7c8882f44682a6cd1935cd7ac8a6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMy00LTEtMS0w_c1304a73-43e5-457f-b4e6-7407f5e1674d"
      unitRef="usd">1578000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i8eed7c8882f44682a6cd1935cd7ac8a6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMy02LTEtMS0w_8922d11d-e7be-4ca2-ab9e-2d4ac78d5b68"
      unitRef="usd">6752000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6639b9e6e6ce4443abedcab73c05a2b4_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMy04LTEtMS0w_e4667bea-42d4-4acb-a4df-38afeacd62ad">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie91480e5cf20497ab558ec2a372f84d6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNC0yLTEtMS0w_8cabe3fd-3d51-4f0a-9e55-34dc97270f87"
      unitRef="usd">6539000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie91480e5cf20497ab558ec2a372f84d6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNC00LTEtMS0w_c3258f2a-e556-408f-8faa-8f0df5637222"
      unitRef="usd">3250000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie91480e5cf20497ab558ec2a372f84d6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNC02LTEtMS0w_26966071-3fda-47d4-8cab-a8d569758373"
      unitRef="usd">3289000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i631d3374c6914aa68069d357ca44f811_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNC04LTEtMS0w_49d3365e-0326-4123-b67e-2011eb527517">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic784fab99c9d4358a4dc70f1ee3c82f6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNS0yLTEtMS0w_5b8fbfb9-6be6-42eb-947c-26e92628b9db"
      unitRef="usd">1890000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic784fab99c9d4358a4dc70f1ee3c82f6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNS00LTEtMS0w_e47c3790-a19e-4f7b-b821-ef9900e53c9a"
      unitRef="usd">633000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ic784fab99c9d4358a4dc70f1ee3c82f6_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNS02LTEtMS0w_fe76d919-e984-4cd5-80c3-5a778727ab1b"
      unitRef="usd">1257000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i7a1f206303494c31945bd708dc0b8ce0_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNS04LTEtMS0w_03f284e3-4b70-430b-8f6f-591f3417268f">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i98c23ebc7ddc4c1c84ead6a8680f854f_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNi0yLTEtMS0w_9a479cda-d006-4ce0-8c2a-08b63942e3d9"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i98c23ebc7ddc4c1c84ead6a8680f854f_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNi00LTEtMS0w_eb26b64c-fffe-47e7-8bfe-75f456410f1e"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i98c23ebc7ddc4c1c84ead6a8680f854f_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNi02LTEtMS0w_85aa6eac-e411-468c-b760-f5e394349707"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ifc475fa97c05441faa5e1889baf133cc_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNi04LTEtMS0w_e3af0881-3301-4adc-811c-3bae72837852">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i93814ca022dc4737b026baf5190f9ecb_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNy0yLTEtMS0w_9bdd2e86-bb2a-4e71-a8f5-69434d471048"
      unitRef="usd">7400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i93814ca022dc4737b026baf5190f9ecb_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNy00LTEtMS0w_92128dd7-bdf8-4650-ae17-c9e55af2b27d"
      unitRef="usd">2594000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i93814ca022dc4737b026baf5190f9ecb_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNy02LTEtMS0w_88f69e63-7ccd-4e1b-b1b2-ce32c2ed7a62"
      unitRef="usd">4806000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i103a77c3d69347c88a6e2d397c88a4ca_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfNy04LTEtMS0w_61610dc8-9fb4-461f-bb01-4270e180f14e">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="iac440c8a4fd3414699a7770a9adc08bc_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfOC0yLTEtMS0w_5f2f747f-121d-4e91-8ff5-4006f59e702d"
      unitRef="usd">90000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="iac440c8a4fd3414699a7770a9adc08bc_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfOC00LTEtMS0w_eccbc949-d2cf-43c1-9a74-9f841149344d"
      unitRef="usd">68000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="iac440c8a4fd3414699a7770a9adc08bc_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfOC02LTEtMS0w_1bc10495-e62f-4512-aa89-9ac431752c9a"
      unitRef="usd">22000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="if030437415a64cb3bfe5de86003d2978_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfOC04LTEtMS0w_08e66186-8c40-44ce-8eeb-406cdd7093e5">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i20ac6edd77d34153806d265648398244_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfOS0yLTEtMS0w_092becca-8dd3-44f8-b56a-17c6ebe1eeab"
      unitRef="usd">252000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i20ac6edd77d34153806d265648398244_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfOS00LTEtMS0w_9db95fe2-2079-457d-b429-757efa07a65f"
      unitRef="usd">238000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i20ac6edd77d34153806d265648398244_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfOS02LTEtMS0w_7b38e8f5-d79e-4bd8-88e5-4fc0bae23823"
      unitRef="usd">14000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i63d8b962f5564ab7ad7c575c0efbfe26_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfOS04LTEtMS0w_38d512a8-942c-4b2a-a75e-2b4893c9cb54">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMTEtMi0xLTEtMA_aa237730-878a-463e-8b4d-b89ff2907b88"
      unitRef="usd">28021000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMTEtNC0xLTEtMA_0aa1a9be-94be-4270-9fc2-52529c88828e"
      unitRef="usd">10477000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMTEtNi0xLTEtMA_14de68e9-dfd9-4fe4-90a9-c216f62e3f2c"
      unitRef="usd">17544000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i6c77c68a356441268a7e4273cb35c0c9_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjEzMWU5M2FkNzhkNTQ2YjY4ZTUzMTJlY2Y0YmY5MzQzL3RhYmxlcmFuZ2U6MTMxZTkzYWQ3OGQ1NDZiNjhlNTMxMmVjZjRiZjkzNDNfMTEtOC0xLTEtMA_2fcdb506-f62e-4965-9c8e-9f370693ce29">P6Y3M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib40585036ad74dc497cee463a1c1c400_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMi0yLTEtMS0w_83577ff8-3159-41c8-9289-4c181a4456ad"
      unitRef="usd">3070000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib40585036ad74dc497cee463a1c1c400_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMi00LTEtMS0w_46938247-02b0-426c-9b10-70f4e90b873c"
      unitRef="usd">1296000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib40585036ad74dc497cee463a1c1c400_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMi02LTEtMS0w_bcb367be-7eed-4d31-9117-d04a4b5ad32d"
      unitRef="usd">1774000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iff8256703e6c4179b2e991e294aceda0_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMi04LTEtMS0w_2e3aef2a-9fa1-4d6b-820f-17e1e2b2985a">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i45098f91718b4cdeb1514e16bb8a1268_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMy0yLTEtMS0w_9f99964f-6397-4685-b9c1-25fb3fcfc884"
      unitRef="usd">8330000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i45098f91718b4cdeb1514e16bb8a1268_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMy00LTEtMS0w_701f7f5b-294a-4df1-b000-b25a64bc00ef"
      unitRef="usd">954000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i45098f91718b4cdeb1514e16bb8a1268_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMy02LTEtMS0w_bf0db96c-58be-4558-acd0-b30aef9dacc1"
      unitRef="usd">7376000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i4b9ae9d8d97b4b12a65a7ba3c4a828b9_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMy04LTEtMS0w_663b808c-f591-41cf-8bf7-de7d3948941f">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ib9c04c985869408a91ba41460afe1fc5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNC0yLTEtMS0w_719dc675-afa4-4baf-9903-eefe4463898f"
      unitRef="usd">10541000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ib9c04c985869408a91ba41460afe1fc5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNC00LTEtMS0w_44786e4d-33d1-4761-919d-d06ea508429d"
      unitRef="usd">6074000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ib9c04c985869408a91ba41460afe1fc5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNC02LTEtMS0w_695ecda1-18be-43bf-8975-c672289a562b"
      unitRef="usd">4467000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="iaedae3132b4a4762be98d08bfc6d4c80_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNC04LTEtMS0w_ff7404de-7bc9-40fc-abe6-9afb27177263">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia042108f16444a28a7de006cb323d830_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNS0yLTEtMS0w_4d2bd0fe-6d3e-485d-aada-2d7ee6879079"
      unitRef="usd">2690000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia042108f16444a28a7de006cb323d830_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNS00LTEtMS0w_fe553bef-abc7-4982-9f94-5985627b2b0a"
      unitRef="usd">898000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ia042108f16444a28a7de006cb323d830_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNS02LTEtMS0w_2d96535f-87da-4ac9-8bf8-2756ce04b728"
      unitRef="usd">1792000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i5812cd925e9541058663e6c5afddf7fc_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNS04LTEtMS0w_273f92c2-819d-4fd2-bff5-09b12a6a28cd">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i17e3369e86f6421bb9575ad47e7ba82c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNi0yLTEtMS0w_355b8685-4aaa-46f4-bae6-55386a4840e9"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i17e3369e86f6421bb9575ad47e7ba82c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNi00LTEtMS0w_6ca0ce1e-84f3-482c-9234-5f7d781359bf"
      unitRef="usd">680000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i17e3369e86f6421bb9575ad47e7ba82c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNi02LTEtMS0w_e90cd51f-1305-4882-a3a4-b9ae024342cb"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i511bfe9599e1494c90b92a29bc1fc7f9_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNi04LTEtMS0w_7de5ab01-a1eb-4ba9-bb24-a062872b5181">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="if2d4a3a7bb924ae1ba78ce0f48f4dc8a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNy0yLTEtMS0w_ce938a86-551d-49e0-8a19-1c544191cda7"
      unitRef="usd">7400000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="if2d4a3a7bb924ae1ba78ce0f48f4dc8a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNy00LTEtMS0w_9c9c7b76-dfe4-405f-b3e0-9648bcf4af75"
      unitRef="usd">1484000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="if2d4a3a7bb924ae1ba78ce0f48f4dc8a_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNy02LTEtMS0w_95c02111-94f7-4f77-91b5-d2c607162283"
      unitRef="usd">5916000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i8c8ecd9257d24040810980df65919a95_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfNy04LTEtMS0w_82646d0f-7103-4bf4-8910-bbdf76df527a">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i7d0b95bb7d8e4baf91be0d970ef5f67b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfOC0yLTEtMS0w_0e1daaa6-b233-4ad1-b3a3-ffe44c20b03d"
      unitRef="usd">301000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i7d0b95bb7d8e4baf91be0d970ef5f67b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfOC00LTEtMS0w_02c7771e-305e-4d16-bf8b-cc5ce676b09b"
      unitRef="usd">276000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i7d0b95bb7d8e4baf91be0d970ef5f67b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfOC02LTEtMS0w_69e11f07-c8a8-4829-a978-abc372362d56"
      unitRef="usd">25000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ib92a4e897cad48169c68708d0dd13def_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfOC04LTEtMS0w_d4d888ff-dd88-4448-b1b8-9aaabd5aa328">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i58a5f537a9d8476893293ea8b9cafc20_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfOS0yLTEtMS0w_f647973f-0907-4b86-ac78-93f5fcedebde"
      unitRef="usd">252000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i58a5f537a9d8476893293ea8b9cafc20_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfOS00LTEtMS0w_7243ea29-7f00-4b7a-a64c-b47043c7c3eb"
      unitRef="usd">225000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i58a5f537a9d8476893293ea8b9cafc20_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfOS02LTEtMS0w_4e8cb11e-cae2-4e5e-93c5-b7fe9c807bea"
      unitRef="usd">27000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="ie985e6f90af0453da2c44a5ee9c95db0_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfOS04LTEtMS0w_23bccc8d-79a7-4ae3-b550-9ea77e39ea98">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i60730654c0154641a3c60276742a3e8d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMTAtMi0xLTEtMA_722b6443-0a1e-49e5-9912-58e08174674f"
      unitRef="usd">470000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i60730654c0154641a3c60276742a3e8d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMTAtNC0xLTEtMA_4c734a94-4608-4548-8c96-0dd45c976814"
      unitRef="usd">470000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i60730654c0154641a3c60276742a3e8d_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMTAtNi0xLTEtMA_59fd9c28-2ed7-4e36-8cc3-41936c33f982"
      unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i317eb0e4982e4396a8e0f43d6c5b0425_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMTAtOC0xLTEtMA_fe95074e-7978-4a62-9aca-a3ca10e384bb">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMTEtMi0xLTEtMA_3183bd4a-f316-4dea-8142-b2746e0899dc"
      unitRef="usd">33734000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMTEtNC0xLTEtMA_9f2adca6-d760-45b2-8a35-09eef0092f07"
      unitRef="usd">12357000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMTEtNi0xLTEtMA_f5ad807f-683c-4295-b0f7-77b4819cef45"
      unitRef="usd">21377000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i0c69eefffbaa4a078a778549824aaeba_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjQ4ZDkwZWQ2MjJhZDQ1NDNhMWJiZmZiMDVlN2U0NmI0L3RhYmxlcmFuZ2U6NDhkOTBlZDYyMmFkNDU0M2ExYmJmZmIwNWU3ZTQ2YjRfMTEtOC0xLTEtMA_a7b51ca4-2ecc-4d8f-b240-76371c2f1c28">P6Y2M12D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfMTg2_bc5cefd1-60f2-4a2e-ae24-d150af35f64d"
      unitRef="usd">1200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfMTkz_0b807c11-2f6d-480a-b7b0-80b4255df4f9"
      unitRef="usd">1300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfMjUy_4751da7f-c1f8-467f-b2e9-45a8e1038f39"
      unitRef="usd">3700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfMjU5_36da9622-ef9a-4204-bb1d-0daef858036d"
      unitRef="usd">4000000.0</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfNDI0_832d9fa5-1984-428f-978e-9a7097620261">Future amortization expense with respect to intangible assets is estimated as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:85.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years Ending December 31,&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;2020&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;1,186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160;&#160;&#160;Total amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjExZDEyMzAzMjhkMTQ1YTg4MTA5YTE4ZTk0NDE5YjNhL3RhYmxlcmFuZ2U6MTFkMTIzMDMyOGQxNDVhODgxMDlhMThlOTQ0MTliM2FfMS0yLTEtMS0w_4ef7debe-ce68-46b0-a778-460ca19e82c6"
      unitRef="usd">1186000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjExZDEyMzAzMjhkMTQ1YTg4MTA5YTE4ZTk0NDE5YjNhL3RhYmxlcmFuZ2U6MTFkMTIzMDMyOGQxNDVhODgxMDlhMThlOTQ0MTliM2FfMi0yLTEtMS0w_8ee32444-67be-4059-9c9a-883331071442"
      unitRef="usd">4647000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjExZDEyMzAzMjhkMTQ1YTg4MTA5YTE4ZTk0NDE5YjNhL3RhYmxlcmFuZ2U6MTFkMTIzMDMyOGQxNDVhODgxMDlhMThlOTQ0MTliM2FfMy0yLTEtMS0w_104e54b9-f199-4daa-a542-be42b7ae945c"
      unitRef="usd">4605000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjExZDEyMzAzMjhkMTQ1YTg4MTA5YTE4ZTk0NDE5YjNhL3RhYmxlcmFuZ2U6MTFkMTIzMDMyOGQxNDVhODgxMDlhMThlOTQ0MTliM2FfNC0yLTEtMS0w_d9248cd7-ae61-474a-affd-0d865e8d8bc3"
      unitRef="usd">3060000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjExZDEyMzAzMjhkMTQ1YTg4MTA5YTE4ZTk0NDE5YjNhL3RhYmxlcmFuZ2U6MTFkMTIzMDMyOGQxNDVhODgxMDlhMThlOTQ0MTliM2FfNS0yLTEtMS0w_7644bde3-64ed-40f7-aa9c-57422578708d"
      unitRef="usd">1197000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <appf:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjExZDEyMzAzMjhkMTQ1YTg4MTA5YTE4ZTk0NDE5YjNhL3RhYmxlcmFuZ2U6MTFkMTIzMDMyOGQxNDVhODgxMDlhMThlOTQ0MTliM2FfNi0yLTEtMS0w_461b1bb4-864c-45ac-b975-57cc9aabbe99"
      unitRef="usd">2849000</appf:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjExZDEyMzAzMjhkMTQ1YTg4MTA5YTE4ZTk0NDE5YjNhL3RhYmxlcmFuZ2U6MTFkMTIzMDMyOGQxNDVhODgxMDlhMThlOTQ0MTliM2FfNy0yLTEtMS0w_969a6fe2-5da4-441f-b26c-26face40a10d"
      unitRef="usd">17544000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfMjE5OTAyMzI1NjU2OQ_60270e3a-baa2-4ba5-8106-a925150074ca"
      unitRef="usd">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RleHRyZWdpb246ZmRhZWJhZTkwNWFhNDdiZThhOGRkMjdhODE4OTdhYTVfMjE5OTAyMzI1NjU2Mg_abf0132c-e80b-494e-92c9-86f9f0755e11">The change in the carrying amount of goodwill during the nine months ended September&#160;30, 2020 is as follows (in thousands):&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:82.664%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.518%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.418%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill at December 31, 2019&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;58,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill attributed to MyCase divestiture&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,278)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill at September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjcyODI1NzVjZWU5YjQ1ZmU4NjY3OTc1MzllNmFmOTllL3RhYmxlcmFuZ2U6NzI4MjU3NWNlZTliNDVmZTg2Njc5NzUzOWU2YWY5OWVfMC0yLTEtMS01MTM_1dcb62c7-f473-4af8-989f-76a6dffb73e6"
      unitRef="usd">58425000</us-gaap:Goodwill>
    <us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjcyODI1NzVjZWU5YjQ1ZmU4NjY3OTc1MzllNmFmOTllL3RhYmxlcmFuZ2U6NzI4MjU3NWNlZTliNDVmZTg2Njc5NzUzOWU2YWY5OWVfMS0yLTEtMS01MTM_9421128c-898d-4022-acb9-cd681231bafc"
      unitRef="usd">2278000</us-gaap:GoodwillWrittenOffRelatedToSaleOfBusinessUnit>
    <us-gaap:Goodwill
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81Mi9mcmFnOmZkYWViYWU5MDVhYTQ3YmU4YThkZDI3YTgxODk3YWE1L3RhYmxlOjcyODI1NzVjZWU5YjQ1ZmU4NjY3OTc1MzllNmFmOTllL3RhYmxlcmFuZ2U6NzI4MjU3NWNlZTliNDVmZTg2Njc5NzUzOWU2YWY5OWVfMi0yLTEtMS01MTM_4fc0a966-aad3-4773-bdbd-459de01dd3e3"
      unitRef="usd">56147000</us-gaap:Goodwill>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMTQwMg_61f5e5d9-5b1e-4fb1-8456-5a232c10b137">Leases&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating leases for our corporate offices have remaining lease terms ranging from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMTM2_4a2ccfe0-7d19-412b-835a-4cdca891c283"&gt;one&lt;/span&gt; to 12 years, some of which include options to extend the leases by up to ten years. These options to extend have not been recognized as part of our operating lease right-of-use assets and lease liabilities as it is not reasonably certain that we will exercise these options. Our lease agreements do not contain any residual value guarantees or material restrictive covenants. We have lease agreements with lease and non-lease components, which we have elected to combine for all asset classes. The total lease cost associated with our operating leases was $1.3 million for each of the three months ended September&#160;30, 2020 and 2019, and $4.1 million and $3.7 million for the nine months ended September&#160;30, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease-related assets and liabilities were as follows as of September&#160;30, 2020 and December&#160;31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.349%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&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:8pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Operating 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;32,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&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 payments under non-cancellable leases as of September&#160;30, 2020 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,027)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Total future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,898)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt"&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments are presented net of tenant improvement allowances of $2.3 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total future minimum lease payments include the current portion of lease liabilities recorded in &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;Prepaid expenses and other current assets&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; of $2.9 million on our Condensed Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next 12 months.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="ic925e6074afe46ebbfad1f62c8db3427_I20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMTQy_c1a77c41-38d5-4941-9d0e-dbf932774eea">P12Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LessorOperatingLeaseRenewalTerm
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMjA2_cbe0a051-d451-467e-82ba-e94e91cf7563">P10Y</us-gaap:LessorOperatingLeaseRenewalTerm>
    <us-gaap:OperatingLeaseCost
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfNjgy_6db3b69e-fdaa-42df-a087-17148809c4a0"
      unitRef="usd">1300000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfNjgy_6e6d3cf3-09d6-4846-8521-6750f665067c"
      unitRef="usd">1300000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfNzQ4_5dd63975-02dd-4880-97e9-3b078dd162ab"
      unitRef="usd">4100000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfNzU1_f29ce244-752e-429e-8b15-3c9bd3c2009b"
      unitRef="usd">3700000</us-gaap:OperatingLeaseCost>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMTQwNg_7a4cbc82-3a5e-48d0-ab50-c728d9b2e220">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease-related assets and liabilities were as follows as of September&#160;30, 2020 and December&#160;31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.349%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&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:8pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses and other current assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Operating 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;32,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfMi0xLTEtMS0w_136ac5c1-6d5d-4794-becd-8aafbb4a7f32"
      unitRef="usd">2901000</appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets>
    <appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfMi0zLTEtMS0w_36920b05-8064-448c-8c9b-649e37c6b284"
      unitRef="usd">3908000</appf:OperatingLeasePrepaidExpensesAndOtherCurrentAssets>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfMy0xLTEtMS0w_64d7a32a-42f7-408b-baf6-a9eec703081d"
      unitRef="usd">24645000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfMy0zLTEtMS0w_4c7dae51-7911-4ade-99dd-1ee689152494"
      unitRef="usd">27803000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfNi0xLTEtMS0w_855ff508-0f08-4bfb-8d6f-d3ab27da6dd5"
      unitRef="usd">2021000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfNi0zLTEtMS0w_31f41253-1daf-4723-b4a4-a14c300be6cb"
      unitRef="usd">2826000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfNy0xLTEtMS0w_b63664cf-044a-45c3-a351-a40faf1a813d"
      unitRef="usd">32755000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfNy0zLTEtMS0w_e2a67288-1e86-4573-8c5b-ebc5b6b8a774"
      unitRef="usd">33312000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfOC0xLTEtMS0w_78d1213f-12db-47d7-b94b-258224c9c637"
      unitRef="usd">34776000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOmVkYWRlZmMwMzNmMjQ5M2ZhOTlkYTkzMzUwMjBjMGZhL3RhYmxlcmFuZ2U6ZWRhZGVmYzAzM2YyNDkzZmE5OWRhOTMzNTAyMGMwZmFfOC0zLTEtMS0w_306e6a2c-48a5-4bbc-a7c4-0bc797c419e4"
      unitRef="usd">36138000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMTM5NQ_e2a33a81-bd3c-4ef7-8fb6-1aeede628e89">&lt;div style="text-align:justify;text-indent:36pt"&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 payments under non-cancellable leases as of September&#160;30, 2020 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:84.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Years ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,027)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,240&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.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;Total future minimum lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,898)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt"&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,875&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum lease payments are presented net of tenant improvement allowances of $2.3 million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total future minimum lease payments include the current portion of lease liabilities recorded in &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;Prepaid expenses and other current assets&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; of $2.9 million on our Condensed Consolidated Balance Sheets, which relates to certain of our leases for which the lease incentives to be received exceed the minimum lease payments to be paid over the next 12 months.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfMS0xLTEtMS0w_d19677de-e4a9-4669-8834-bca36855e748"
      unitRef="usd">-1027000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfMi0xLTEtMS0w_9f3f0159-2231-4ad7-8e41-da2f3e5b45e7"
      unitRef="usd">2240000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfMy0xLTEtMS0w_3883f8ed-a5c9-4900-bf95-4d8c64414066"
      unitRef="usd">4085000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfNC0xLTEtMS0w_2e77cbef-7bcf-477e-aa95-74b66c5c4dd4"
      unitRef="usd">3977000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfNS0xLTEtMS0w_5fb7d20b-6853-4f6d-9a5f-ca647a47d342"
      unitRef="usd">3908000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <appf:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfNi0xLTEtMS0w_859ee21c-bb63-4743-9dea-4c10758675e9"
      unitRef="usd">29590000000</appf:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfNy0xLTEtMS0w_d6e64ee3-0155-43a6-815b-0f73694902b0"
      unitRef="usd">42773000000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfOC0xLTEtMS0w_b5961a04-e3ef-4a7b-b049-25ccd5dc563e"
      unitRef="usd">10898000000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <appf:LesseeOperatingLeaseLiabilityNetOfCurrentPortion
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RhYmxlOjhkNzhlMjk2OWY3YzQ2ZTA4OTc1M2Y2Y2M1Zjc2ZThkL3RhYmxlcmFuZ2U6OGQ3OGUyOTY5ZjdjNDZlMDg5NzUzZjZjYzVmNzZlOGRfOS0xLTEtMS0w_d4203529-a2f8-48a2-bff9-178c7dbebc7a"
      unitRef="usd">31875000000</appf:LesseeOperatingLeaseLiabilityNetOfCurrentPortion>
    <appf:TenantImprovementAllowance
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMTA4OQ_5a8d8257-4bdc-4c34-a50b-0741776211bd"
      unitRef="usd">2300000</appf:TenantImprovementAllowance>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="iba3d65a5950b4faca63c7f470a5ea74e_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81NS9mcmFnOjQzZWQ2NjM3MDU4YjQ1Yzk5NmE5OTA4NWFjYWE4MjQxL3RleHRyZWdpb246NDNlZDY2MzcwNThiNDVjOTk2YTk5MDg1YWNhYTgyNDFfMTIzOQ_98e8b7d1-7205-46ae-8dab-8c1bbad74d41"
      unitRef="usd">2900000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LongTermDebtTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfNTE5OA_acac858c-6a90-42fd-aa7e-53e47923341a">Long-Term Debt&lt;div style="margin-bottom:6pt;margin-top:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Credit Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 24, 2018, we entered into Amendment Number Two to the Credit Agreement (the "Second Amendment") with Wells Fargo, as administrative agent, and the lenders that were parties thereto (as amended, the "Credit &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Agreement"). Under the terms of the Second Amendment, the lenders issued the Term Loan to us and increased the amount available under the Revolving Facility to $50.0 million. The maturity date of the Term Loan and Revolving Facility was December 24, 2023. In addition, pursuant to the Second Amendment, we were permitted to make certain restricted junior payments, including, without limitation, repurchases of our common stock, and to enter into acquisitions with no value limitation, so long as we maintained specified liquidity requirements and leverage ratios. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Second Amendment also modified certain financial covenants by, among other things, requiring us to maintain (i) an EBITDA-to-interest-expense ratio of not less than 3.0 to 1.0, and (ii) a funded-indebtedness-to-EBITDA ratio of not more than 3.5 to 1.0 (the "Required Leverage Ratio") (decreasing by 0.25 per year until the Required Leverage Ratio is 2.5 to 1.0); provided, however, that we were not required to maintain the foregoing ratios if our liquidity (defined as the sum of the remaining borrowing capacity under the Credit Agreement and available cash) had equaled or exceeded the greater of $20.0 million and 20% of the sum of the outstanding principal amount of the Term Loan and commitments under the Revolving Facility. If we entered into an acquisition with a purchase price greater than or equal to $20.0 million, then the Required Leverage Ratio would be increased by 0.5 for the 12-month period immediately following the consummation of such acquisition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 contained customary affirmative, negative and financial covenants. The affirmative covenants required us to, among other things, disclose financial and other information to the lenders, maintain our business and properties, and maintain adequate insurance. The negative covenants restricted us from, among other things, incurring additional indebtedness, prepaying certain types of indebtedness, encumbering or disposing of our assets, making fundamental changes to our corporate structure, and making certain dividends and distributions. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 terms of the Second Amendment, borrowings under the Credit Agreement would bear interest at a fluctuating rate per annum equal to, at our option, (i) LIBOR or (ii) an alternate base rate, in each case plus the applicable interest rate margin. Borrowings would fluctuate between LIBOR plus 1.5% per annum and LIBOR plus 2.0% per annum (or between the alternate base rate plus 0.5% per annum and the alternate base rate plus 1.0% per annum), based upon our Required Leverage Ratio. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Fees payable on the unused portion of the Revolving Facility were 0.25% per annum, unless the average usage of the Revolving Facility was equal to or less than $30.0 million for the applicable period, in which case the fees on the unused portion of the Revolving Facility would have been 0.375% per annum.&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In connection with the MyCase Transaction, and as required by the terms of the Credit Agreement, the Credit Agreement was terminated and all obligations outstanding under the Term Loan and Revolving Facility thereunder, including all guarantees and security interests granted with respect to such obligations, were satisfied in full with proceeds from the MyCase Transaction and extinguished. Immediately prior to the repayment of amounts owed under, and termination of, the Credit Agreement, there were approximately $48.1&#160;million in term loans outstanding and $49.1&#160;million in revolving borrowings outstanding. Refer to Note 1, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Nature of Business&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;, and Note 3, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Divestitures and Business Combinations&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;, of our Condensed Consolidated Financial Statements for more information about the MyCase Transaction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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;Debt Financing Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 Second Amendment, we incurred $0.4 million in financing fees that were capitalized and amortized over the remaining life of the related debt, $0.2 million of which was related to the Term Loan and $0.2 million of which was related to the Revolving Facility. Pursuant to GAAP, the Second Amendment is accounted for as a debt modification. As a result, the unamortized deferred debt financing costs related to the Revolving Facility prior to the Second Amendment were added to the $0.2 million of deferred debt financing costs related to the Second Amendment and amortized over the remaining life of the Revolving Facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Debt financing costs were deferred and amortized using the straight-line method, which approximated the effective interest method, for costs related to the Term Loan, and the straight-line method for costs related to the Revolving Facility, over the term of the debt arrangement; such amortization is included in interest expense in our Condensed Consolidated Statements of Operations. Amortization of deferred debt financing costs was not material for the three and nine months ended September&#160;30, 2020 or 2019. As of September&#160;30, 2020 the remaining unamortized deferred debt financing costs of $0.4 million were expensed to &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;Interest expense, net&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; in our Condensed Consolidated Statements of Operations, in connection with the termination of the Credit Agreement. At December&#160;31, 2019, the remaining unamortized deferred debt financing costs were $0.4 million, of which $0.2 million was offset against debt. As of December&#160;31, 2019, $0.3 million of the remaining unamortized deferred debt financing costs were recorded in &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;prepaid expenses and other current assets and other long-term assets&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; on our Condensed Consolidated Balance Sheets, as they pertained to the Revolving Facility. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 is a summary of our long-term debt as of September&#160;30, 2020 and December&#160;31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.617%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Principal amounts due under Term Loan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized debt financing costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt, net of unamortized debt financing costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="icc578e83b8ea4ce28a4a3944503d24dd_I20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfNDE4_31c9973c-cb40-49ad-b338-05d8b3b12c36"
      unitRef="usd">50000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <appf:LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio
      contextRef="ia44fda020dd44c7fb5fa4c9a56e94008_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfOTc4_af19b97a-e5b0-4755-b5b2-e7ffa9fdc57a"
      unitRef="number">3.0</appf:LongtermDebtCovenantRestrictionsEBITDAToInterestExpenseRatio>
    <appf:LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio
      contextRef="ia44fda020dd44c7fb5fa4c9a56e94008_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMTA1Mw_78308f6b-ddf4-4fd2-b78f-27b23b0fd4c2"
      unitRef="number">3.5</appf:LongtermDebtCovenantRestrictionsFundedIndebtednessToEBITDARatio>
    <appf:LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio
      contextRef="ia44fda020dd44c7fb5fa4c9a56e94008_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMTExMA_ff6e83ec-c483-4afe-b054-776b66804424"
      unitRef="number">0.25</appf:LongtermDebtCovenantRestrictionsAnnualDecreaseInRequiredLeverageRatio>
    <appf:LongtermDebtCovenantRestrictionsRequiredLeverageRatio
      contextRef="ia44fda020dd44c7fb5fa4c9a56e94008_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMTE1OQ_059c9cd3-f341-45ed-8597-cc46bbb25e10"
      unitRef="number">2.5</appf:LongtermDebtCovenantRestrictionsRequiredLeverageRatio>
    <appf:LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts
      contextRef="ic948c94d0d314613b48e39543bb5a749_I20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMTQwNw_c29da674-45c3-4880-96e0-9b52d6087821"
      unitRef="usd">20000000.0</appf:LongtermDebtCovenantRestrictionsFloorPlus20PercentOfTheSumOftheCombinedOutstandingPrincipalAmounts>
    <appf:LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate
      contextRef="ic948c94d0d314613b48e39543bb5a749_I20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMTYwNw_dd009b99-f051-49af-a1d7-e7aeb0f9fe87"
      unitRef="usd">20000000.0</appf:LongtermDebtCovenantRestrictionsAcquisitionPurchasePriceFloorFor0.5IncreaseInRequiredLeverageRatioFor12MonthPeriodFollowingTheCloseDate>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i1894b8e256cb484fb1d1c27d53f59219_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMjY5OQ_6e635717-bccd-4aff-b6e3-78cc07904b7e"
      unitRef="number">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i5e893c930b97418dbd6de470d66329bf_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMjcyNw_4baddd95-c765-48dd-a644-a04278b9d4dc"
      unitRef="number">0.020</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i503e1ba766a34c68bd9dab19a89add6e_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMjc4MQ_3972e8ea-3830-4349-a3a2-5c19d5656639"
      unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i27dc9e7ecffd4117a438e1026ab56c8c_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMjgyNw_1576a320-4040-479c-8d26-ad76c346ce85"
      unitRef="number">0.010</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i542f8b4829064accb6098a26327f94f4_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMjk1Mg_7d4cffe2-154e-4dc1-8012-ab7655915fed"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <appf:LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage
      contextRef="icc578e83b8ea4ce28a4a3944503d24dd_I20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMzA0Mg_4fa382de-046c-4540-81ec-da52e368ed1b"
      unitRef="usd">30000000.0</appf:LongtermDebtCommitmentFeeUsageThresholdFor37.5BasisPointsCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="i542f8b4829064accb6098a26327f94f4_D20181224-20181224"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMzE1MQ_2438a5a1-92e9-49f0-a01c-c0cf6c09223d"
      unitRef="number">0.00375</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="idd10bf399b70448d8467cef6057216d6_I20200929"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMjE5OTAyMzI2NDMzNg_159f7044-b48b-4e67-96a2-76960ffb6ea3"
      unitRef="usd">48100000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i4ff17b0e1c4c4003b28db5ac6002f2c9_I20200929"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMjE5OTAyMzI2NDMwNw_db126c0e-c7a7-4380-b079-2f347226074d"
      unitRef="usd">49100000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="if565dd9ce3d440529b1aa3f3aba55b37_I20181224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMzU0NQ_3e4b14cc-74cd-48bb-9863-1b901d713ac1"
      unitRef="usd">400000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="iafc91a1328ec43a3860025a3341cd83e_I20181224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMzY1NQ_1d447b08-d42d-4ea4-98e2-c0b5b13a79fa"
      unitRef="usd">200000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="icc578e83b8ea4ce28a4a3944503d24dd_I20181224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMzcwMA_9a5b9089-51dc-4c63-bc62-79474044efff"
      unitRef="usd">200000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="icc578e83b8ea4ce28a4a3944503d24dd_I20181224"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfMzk3Mg_1e52f2d3-7506-43d4-9254-cab3e9ed9c15"
      unitRef="usd">200000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfNDY4MA_1724acfd-f0b9-4c78-be67-f066909f81b7"
      unitRef="usd">400000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i9519ee1abaa14f0788ec27fade86d433_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfNDcxNA_39ed2628-214a-4724-9c95-0a091e78bd9e"
      unitRef="usd">200000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="ib5f9e6cc90e944c8a99f5ace1393eedf_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfNDc4MQ_e7ede4a5-0d35-42cf-9f86-bc432f56b587"
      unitRef="usd">300000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RleHRyZWdpb246YzE4ZWRlMmM0OTUwNDhmYjk0YjAyNjFhNDNjMWE0MzhfNTIwMA_3e357952-4b4d-4124-962b-3f3c2bbfac32">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 is a summary of our long-term debt as of September&#160;30, 2020 and December&#160;31, 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.617%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.809%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;September 30,&lt;br/&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;December 31,&lt;br/&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Principal amounts due under Term Loan&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,750&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized debt financing costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Long-term debt, net of unamortized debt financing costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i26fd59f3191246fba4832d5688b8674e_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RhYmxlOmM1NDRjYWRlM2E2ODQ0NzE4OTVjYjI1OTRkMmZmYTQ0L3RhYmxlcmFuZ2U6YzU0NGNhZGUzYTY4NDQ3MTg5NWNiMjU5NGQyZmZhNDRfMS0yLTEtMS0w_15403fcb-0727-4bf1-bbf9-d3d2a36e442c"
      unitRef="usd">0</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i9519ee1abaa14f0788ec27fade86d433_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RhYmxlOmM1NDRjYWRlM2E2ODQ0NzE4OTVjYjI1OTRkMmZmYTQ0L3RhYmxlcmFuZ2U6YzU0NGNhZGUzYTY4NDQ3MTg5NWNiMjU5NGQyZmZhNDRfMS00LTEtMS0w_42b27a89-9259-4957-bea6-270300f9506e"
      unitRef="usd">48750000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i26fd59f3191246fba4832d5688b8674e_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RhYmxlOmM1NDRjYWRlM2E2ODQ0NzE4OTVjYjI1OTRkMmZmYTQ0L3RhYmxlcmFuZ2U6YzU0NGNhZGUzYTY4NDQ3MTg5NWNiMjU5NGQyZmZhNDRfMi0yLTEtMS0w_dc6f5bdd-ae2e-4b16-8c28-6c7819a02cc6"
      unitRef="usd">0</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i9519ee1abaa14f0788ec27fade86d433_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RhYmxlOmM1NDRjYWRlM2E2ODQ0NzE4OTVjYjI1OTRkMmZmYTQ0L3RhYmxlcmFuZ2U6YzU0NGNhZGUzYTY4NDQ3MTg5NWNiMjU5NGQyZmZhNDRfMi00LTEtMS0w_0eef5b7d-dde7-40f7-bdb4-20204154d75f"
      unitRef="usd">167000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="i26fd59f3191246fba4832d5688b8674e_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RhYmxlOmM1NDRjYWRlM2E2ODQ0NzE4OTVjYjI1OTRkMmZmYTQ0L3RhYmxlcmFuZ2U6YzU0NGNhZGUzYTY4NDQ3MTg5NWNiMjU5NGQyZmZhNDRfMy0yLTEtMS0w_dfe813aa-b51d-4936-b74d-e819d7acf39b"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i9519ee1abaa14f0788ec27fade86d433_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF81OC9mcmFnOmMxOGVkZTJjNDk1MDQ4ZmI5NGIwMjYxYTQzYzFhNDM4L3RhYmxlOmM1NDRjYWRlM2E2ODQ0NzE4OTVjYjI1OTRkMmZmYTQ0L3RhYmxlcmFuZ2U6YzU0NGNhZGUzYTY4NDQ3MTg5NWNiMjU5NGQyZmZhNDRfMy00LTEtMS0w_814445b3-fb03-4232-83e7-2ef5c79849b2"
      unitRef="usd">48583000</us-gaap:LongTermDebt>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfNTkwMg_098240a8-efe8-479b-9fdd-8a516d8017cb">Commitments and Contingencies&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Legal Liability to Landlord Insurance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&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 a wholly owned subsidiary, Terra Mar Insurance Company, Inc., which was established to provide our customers with the option to purchase legal liability to landlord insurance. If our customers choose to use this insurance service, they are issued an insurance policy underwritten by our third-party service provider. The policy has a limit of $100,000 per incident for each insured residence. We have entered into a reinsurance agreement with our third-party service provider and, as a result, we assume a 100% quota share of the legal liability to landlord insurance provided to our customers through our third-party service provider. We accrue for reported claims, and include an estimate of losses incurred but not reported by our property manager customers, in cost of revenue because we bear the risk related to all such claims. Our liability for reported claims and incurred but not reported claims as of September&#160;30, 2020 and December&#160;31, 2019 was $1.4 million and $1.8 million, respectively, and is included in &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;other current liabilities&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; on our Condensed Consolidated Balance Sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Included in &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;prepaid expenses and other current assets&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 of September&#160;30, 2020 and December&#160;31, 2019 are $1.7 million and $1.3 million, respectively, of deposits held with a third party related to requirements to maintain collateral for this insurance service.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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;Legal Proceedings&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 2018, we received a Civil Investigative Demand from the Federal Trade Commission ("FTC") requesting certain information relating to our compliance with the Fair Credit Reporting Act (the &#x201c;FCRA&#x201d;) in connection with our tenant screening Value+ service (the "FTC Investigation"). On April 30, 2020, the FTC staff informed us of its belief that there is a reasonable basis for asserting claims against us for our alleged failure to comply with certain sections of the FCRA that could result in monetary penalty and/or injunctive relief. We disagree with the stated belief of the FTC and have vigorously defended our position. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Notwithstanding our disagreement with the FTC's position, and primarily in an effort to avoid protracted litigation and potential distraction to our business, we have entered into settlement negotiations with the FTC in an effort to resolve all claims and allegations arising out of or relating to the FTC Investigation. Although the final outcome of the FTC Investigation is subject to ongoing settlement discussions and therefore remains uncertain, we have determined that a loss is probable and that a reasonable estimate of the loss is approximately $4.3&#160;million. Accordingly, we have recognized an accrual of $4.3&#160;million during the nine months ended September&#160;30, 2020 within &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;accrued expenses&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; on our Condensed Consolidated Balance Sheet. While this amount represents our best judgment of the probable loss based on information currently available to us, it is subject to significant judgments and estimates and numerous factors beyond our control, including without limitation the FTC's position with respect to the ongoing settlement negotiations. In the event that the FTC Investigation results in a settlement payment by us, or a judgment against us, in an amount significantly in excess of our accrual, the resulting liability could have a material adverse effect upon our financial condition, results of operations and liquidity.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2019, we received a Request for Information from the Civil Rights Division (Housing and Civil Enforcement Section) of the U.S. Department of Justice ("DOJ") requesting certain information relating to our compliance with the Servicemembers Civil Relief Act (the "SCRA") in connection with our tenant screening Value+ service. On November 6, 2020, the DOJ issued a no action letter, declining to take any action against us and closing its investigation. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In addition, from time to time, we are involved in various other investigatory inquiries, legal proceedings and other disputes arising from or related to matters incident to the ordinary course of our business activities, including actions with respect to intellectual property, employment, regulatory and contractual issues. Although the results of such investigatory inquiries, legal proceedings and other disputes cannot be predicted with certainty, we believe that we are not currently a party to any matters which, if determined adversely to us, would, individually or taken together, have a material adverse effect on our business, operating results, financial condition or cash flows. However, regardless of the merit of any matters raised or the ultimate outcome, investigatory inquiries, legal proceedings and other disputes may generally have an adverse impact on us as a result of defense and settlement costs, diversion of management resources, and other factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:115%"&gt;Indemnification&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;In the ordinary course of business, we may provide indemnification of varying scope and terms to customers, vendors, investors, directors and officers with respect to certain matters, including, but not limited to, losses arising out of our breach of applicable agreements, services to be provided by us, or intellectual property infringement claims made by third parties. These indemnification provisions may survive termination of the underlying agreement and the maximum potential amount of future payments we could be required to make may not be subject to maximum loss clauses and may therefore be indeterminable. We have never paid a material claim, nor have any legal claims been brought against us in connection with these indemnification arrangements. As of September&#160;30, 2020 and December&#160;31, 2019, we had not accrued a liability for these indemnification obligations because we determined that the likelihood of incurring any payment obligation in connection with these indemnification arrangements is not probable or reasonably possible, and the amount or range of amounts of any such liability is not reasonably estimable.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfNDI3_b980f5dd-3cb5-470c-822c-4db0b9250fab"
      unitRef="usd">100000</appf:PropertyLiabilityAndCasualtyInsurancePerIncidentAndPerResidenceCoverageLimit>
    <us-gaap:ReinsuranceRetentionPolicyReinsuredRiskPercentage
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfNTg0_a07d9f4a-dccb-4b57-b0a4-731327cf5644"
      unitRef="number">1</us-gaap:ReinsuranceRetentionPolicyReinsuredRiskPercentage>
    <us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability
      contextRef="i7810206e7501429e85e559313b6b3d09_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfMTAwMQ_b3715ad6-6a40-4619-9a33-475efe19a14c"
      unitRef="usd">1400000</us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability>
    <us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability
      contextRef="ib4b081d76f5e4bd19e99026200574511_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfMTAwOA_8f3e5958-e151-4344-aa71-9f02b8dc3e6e"
      unitRef="usd">1800000</us-gaap:LiabilityForClaimsAndClaimsAdjustmentExpensePropertyCasualtyLiability>
    <appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices
      contextRef="i93b5f1def34e4e2a91c3bfb92cd1d459_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfMTE5MQ_8de7a8fd-793a-4f23-adf9-991e51476c90"
      unitRef="usd">1700000</appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices>
    <appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices
      contextRef="i7a3f6501e3544a1b8c61d2d576858379_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfMTE5OA_7da8314f-0d94-4ee2-ba5f-bef5d22d9619"
      unitRef="usd">1300000</appf:PropertyLiabilityAndCasualtyInsuranceDepositsHeldWithThirdPartyAsCollateralForServices>
    <us-gaap:LossContingencyEstimateOfPossibleLoss
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfMjUzNQ_f658276f-7259-459f-8534-e1db0badd980"
      unitRef="usd">4300000</us-gaap:LossContingencyEstimateOfPossibleLoss>
    <us-gaap:LossContingencyAccrualAtCarryingValue
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82MS9mcmFnOjFmZTQ2ZWQwOTIxNDRhYjk4Nzg5MjVkMDcwYTJiMTQzL3RleHRyZWdpb246MWZlNDZlZDA5MjE0NGFiOTg3ODkyNWQwNzBhMmIxNDNfMjU4NQ_2b355f11-bf64-4eef-8548-f3e640583007"
      unitRef="usd">4300000</us-gaap:LossContingencyAccrualAtCarryingValue>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82NC9mcmFnOmU0MDljYTlmODA0MTRhMTNiODNiMDcxMGYzZWZmYzhhL3RleHRyZWdpb246ZTQwOWNhOWY4MDQxNGExM2I4M2IwNzEwZjNlZmZjOGFfMTEwMQ_2fcbd1ce-cf88-4c5e-be50-18db20fa0c81">Share Repurchase Program &lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February 20, 2019, our Board of Directors authorized a $100.0 million share repurchase program (the "Share Repurchase Program") relating to our outstanding shares of Class A common stock. Under the Share Repurchase Program, share repurchases may be made from time to time, as directed by a committee consisting of three directors, in open market purchases or privately negotiated transactions at a repurchase price that the members of the committee unanimously believe is below intrinsic value conservatively determined. The Share Repurchase Program does not obligate us to repurchase any specific dollar amount or number of shares, there is no expiration date for the Share Repurchase Program, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;and it may be modified, suspended or terminated at any time and for any reason. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three months ended March 31, 2020, we repurchased a total of 48,002 shares of our Class A common stock through open market repurchases, and recorded a $4.2 million reduction to stockholders' equity, which includes broker commissions. We have not made any repurchases under the &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Share Repurchase &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;Program subsequent to the three months ended March 31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="ie74b02112cad48738cef7202ae25a9a1_I20190220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82NC9mcmFnOmU0MDljYTlmODA0MTRhMTNiODNiMDcxMGYzZWZmYzhhL3RleHRyZWdpb246ZTQwOWNhOWY4MDQxNGExM2I4M2IwNzEwZjNlZmZjOGFfOTQ_fa554778-7d63-4c62-b458-cfa1ff6841e9"
      unitRef="usd">100000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <appf:StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases
      contextRef="i74018a6bb2704270b46ba2971d54620a_D20190220-20190220"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82NC9mcmFnOmU0MDljYTlmODA0MTRhMTNiODNiMDcxMGYzZWZmYzhhL3RleHRyZWdpb246ZTQwOWNhOWY4MDQxNGExM2I4M2IwNzEwZjNlZmZjOGFfMzA3_56e806f0-6d7c-4163-842c-97bbf02b29e3"
      unitRef="director">3</appf:StockRepurchaseProgramNumberOfDirectorsToAuthorizeRepurchases>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82NC9mcmFnOmU0MDljYTlmODA0MTRhMTNiODNiMDcxMGYzZWZmYzhhL3RleHRyZWdpb246ZTQwOWNhOWY4MDQxNGExM2I4M2IwNzEwZjNlZmZjOGFfODA0_ae037636-d14c-4be3-93ad-013bce686529"
      unitRef="shares">48002</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82NC9mcmFnOmU0MDljYTlmODA0MTRhMTNiODNiMDcxMGYzZWZmYzhhL3RleHRyZWdpb246ZTQwOWNhOWY4MDQxNGExM2I4M2IwNzEwZjNlZmZjOGFfODkw_5a738b63-df76-4b01-b062-101b2f006641"
      unitRef="usd">4200000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDUwNw_4e00e7c8-acbb-49bd-9d04-b3b286c4ef74">Stock-Based Compensation&lt;div style="margin-top:6pt;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&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 activity in connection with our stock options for the nine months ended September&#160;30, 2020, is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:50.952%"/&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:14.149%"/&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:14.149%"/&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:14.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;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:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&#160;per&#160;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:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&#160;Life&lt;br/&gt;in Years&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;Options outstanding as of December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.9&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;Options granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options exercised&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;(59)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/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;Options cancelled/forfeited&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;(55)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options outstanding as of September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;11.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the nine months ended September&#160;30, 2020, 77,000 PSOs vested based on the achievement of 95% of the pre-established free cash flow performance target for the year ended December 31, 2019, and 40,000 PSOs vested based on the achievement of 115% of the pre-established gross margin target for the year ended December 31, 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our stock-based compensation expense for stock options for the three and nine months ended September&#160;30, 2020 and 2019 was not material. As of September&#160;30, 2020, the total estimated remaining stock-based compensation expense for unvested stock options was not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of stock options is estimated on their date of grant using the Black-Scholes option-pricing model. No stock options were granted during the nine months ended September&#160;30, 2020 or 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-indent:36pt"&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 Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&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 activity in connection with our RSUs for the nine months ended September&#160;30, 2020, is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.935%"/&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:14.149%"/&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:14.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of 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:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share&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;Unvested as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109.29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Forfeited&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;(57)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Unvested as of September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the nine months ended September&#160;30, 2020, we granted 150,000 RSUs that are subject to time-based vesting in equal annual installments over four years, and 14,000 PSUs that are subject to vesting based on the achievement of pre-established consolidated net revenue growth targets for the years ending December 31, 2020, 2021 and 2022, assuming continued employment throughout the performance period. The number of PSUs granted, as included in the above table, assumes achievement of the performance metric at 100% of the performance target. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 100% and 165% of the initial target awards.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the nine months ended September&#160;30, 2020, 84,000 PSUs vested and 4,000 PSUs were cancelled based on the achievement of 95% of the pre-established free cash flow performance target for the year ended December 31, 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Included in the unvested RSUs as of September&#160;30, 2020 are 34,000 and 82,000 PSUs granted in 2019 and 2018, respectively. Of these PSUs, 48,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2020, 43,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2021, and 25,000 are subject to vesting based on the achievement of a pre-established consolidated net revenue growth target for the year ending December 31, 2022. The number of PSUs granted assumes achievement of the performance metric at 100% of the performance target. The actual number of shares to be issued at the end of the performance period will range from 0% to 100% of the initial target awards. Achievement of the performance metric between 100% and 150% of the performance target will result in a performance-based cash bonus payment between 100% and 165% of the initial target awards. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 expense for the PSUs based on the grant date fair value of the PSUs that we determine are probable of vesting. Adjustments to compensation expense are made each period based on changes in our estimate of the number of PSUs that are probable of vesting. Our stock-based compensation expense for the RSUs and PSUs for the three months ended September&#160;30, 2020 and 2019 was $3.4 million and $2.5 million, respectively, and $7.8 million and $6.1 million for the nine months ended September&#160;30, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020, the total estimated remaining stock-based compensation expense for the RSUs and PSUs was $25.2 million, which is expected to be recognized over a weighted average period of 2.3 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-indent:36pt"&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&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 activity in connection with our restricted stock awards for the nine months ended September&#160;30, 2020 is as follows (number of shares in thousands):&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-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.935%"/&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:14.149%"/&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:14.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;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:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair&#160;Value&#160;per&#160;Share&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;Unvested as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;160.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;139.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt;text-align:justify;text-indent:36pt"&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 the right to repurchase any unvested restricted stock awards subject to certain conditions. Restricted stock awards vest over a one-year period. We recognized stock-based compensation expense for restricted stock awards of $0.2 million and $0.1 million for the three months ended September&#160;30, 2020 and 2019, respectively, and $0.5 million and $0.2 million for the nine months ended September&#160;30, 2020 and 2019, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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, 2020, the total estimated remaining stock-based compensation expense for unvested restricted stock awards with a repurchase right was $0.4 million, which is expected to be recognized over a weighted average period of 0.7 years.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDUxMg_60f790ef-2710-44f2-a7f6-5f0f07d57785">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&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 activity in connection with our stock options for the nine months ended September&#160;30, 2020, is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:50.952%"/&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:14.149%"/&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:14.149%"/&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:14.151%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;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:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price&#160;per&#160;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:8pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Remaining&lt;br/&gt;Contractual&#160;Life&lt;br/&gt;in Years&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;Options outstanding as of December&#160;31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.84&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.9&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;Options granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options exercised&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;(59)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.87&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/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;Options cancelled/forfeited&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;(55)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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.76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options outstanding as of September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;11.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.1&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfMS0yLTEtMS0w_bc1955c7-2053-453b-a80b-5e7d9021f784"
      unitRef="shares">1342000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i27a46859dcc4465a8e753fe1004915ad_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfMS00LTEtMS0w_fb91b802-2282-4c75-aa58-222a8db6fb2f"
      unitRef="usdPerShare">11.84</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i8ae2c245f5d44b18b855517362542bac_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfMS02LTEtMS0w_d98faccc-97a5-402c-859a-f50710dcb955">P5Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfMi0yLTEtMS0w_69ba879e-270f-42af-85fc-65ae169bec57"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfMi00LTEtMS0w_330d5c8b-521e-4d34-b113-da3062697d5b"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfMy0yLTEtMS0w_207fba5b-0d4a-40be-877a-65194edaa2af"
      unitRef="shares">59000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfMy00LTEtMS0w_8c2554a2-4dc7-47c1-ad40-c46f6c175dd5"
      unitRef="usdPerShare">6.87</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfNC0yLTEtMS0w_3a54b661-fc89-4717-90d0-cba0cb80aaf0"
      unitRef="shares">55000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfNC00LTEtMS0w_6c59d57c-8462-4b11-846b-0442ce953ee3"
      unitRef="usdPerShare">23.76</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfNS0yLTEtMS0w_cb4279c0-ab78-4a46-8dba-086e8b9699e5"
      unitRef="shares">1228000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i9de0ccc9272e40339b66d9b904972b5a_I20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfNS00LTEtMS0w_d19a5c09-85c6-45bb-9d70-7c145448fe97"
      unitRef="usdPerShare">11.53</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjliNDMwMmViMzNmODRiMjdhZDhhNjRlYTNiYTA2ZjA0L3RhYmxlcmFuZ2U6OWI0MzAyZWIzM2Y4NGIyN2FkOGE2NGVhM2JhMDZmMDRfNS02LTEtMS0w_8181f853-9e7d-4e6e-bf70-cce0fb0c0411">P5Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="i70eabbfb58fe435bba91961aa5807cfd_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjE1_26a40b19-d30c-4e5e-9bd1-fc2bd2cd30e8"
      unitRef="shares">77000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric
      contextRef="i5c285e4316114a15a0417537ceaed371_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjU4_0ceec6c7-0e76-4fb7-8b5f-ab290d30e381"
      unitRef="number">0.95</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
      contextRef="i97469cf93d66415093f9bf3c5bac3a77_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzYw_9e6b9d60-2ede-46d9-a2b4-7f304cc9c1d7"
      unitRef="shares">40000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric
      contextRef="i6db43f273c4d4f3998fc6cb4072f1103_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDAz_d7b87c36-a939-4eb7-9a65-7e450193b1db"
      unitRef="number">1.15</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfODgw_7bd51a46-c7a8-4506-8ba2-d9e450062438"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfODgw_bec5f64d-ab47-44fe-ace4-572c71799466"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDUxMw_6b6628f7-fc52-46ac-bb22-c6bad374ab75">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&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 activity in connection with our RSUs for the nine months ended September&#160;30, 2020, is as follows (number of shares in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.935%"/&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:14.149%"/&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:14.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;of 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:8pt;font-weight:700;line-height:100%"&gt;Weighted Average Grant&#160;Date Fair&#160;Value&#160;per&#160;Share&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;Unvested as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;646&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52.42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;164&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109.29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(247)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Forfeited&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;(57)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Unvested as of September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i14f7d7c51d4345b2a65f8f8002d96b05_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfMS0yLTEtMS0w_0f066002-5b3c-4619-b87b-6d674d93a4f1"
      unitRef="shares">646000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i14f7d7c51d4345b2a65f8f8002d96b05_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfMS00LTEtMS0w_02b87697-6e97-41b2-ab65-38114ead442d"
      unitRef="usdPerShare">52.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfMi0yLTEtMS0w_1bce2209-e11e-44a7-aa40-12cbdbafa481"
      unitRef="shares">164000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfMi00LTEtMS0w_35610927-1b0e-4815-8664-89fdc06cc996"
      unitRef="usdPerShare">109.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfMy0yLTEtMS0w_1fcd2491-731f-4427-a838-c0244ba5343b"
      unitRef="shares">247000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfMy00LTEtMS0w_fa318bcd-860e-4694-9d7b-7de4b4f1f093"
      unitRef="usdPerShare">34.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfNC0yLTEtMS0w_800f7881-59a9-407a-858e-bc5c84ead145"
      unitRef="shares">57000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfNC00LTEtMS0w_bd1aff2c-d632-4574-bd30-4c844044c4ef"
      unitRef="usdPerShare">69.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ib3eded853cba49a39065c7d3884619d1_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfNS0yLTEtMS0w_2eb90578-da30-482c-9480-012e66545321"
      unitRef="shares">506000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ib3eded853cba49a39065c7d3884619d1_I20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjdlZDc4Zjg5YzgyNTRkYjFhMjg3YmQ5ZWQwNTU3YzE2L3RhYmxlcmFuZ2U6N2VkNzhmODljODI1NGRiMWEyODdiZDllZDA1NTdjMTZfNS00LTEtMS0w_7d2c48de-1e78-4d6d-807d-cd6b24bd8a21"
      unitRef="usdPerShare">77.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i0c309a6f87c548c7bc0f5413990b3d9b_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTE0MA_f12a12a5-3d57-4987-b80e-4f3a3b91c53f"
      unitRef="shares">150000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i0c309a6f87c548c7bc0f5413990b3d9b_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTIyMQ_eb93c79d-5fac-4fc5-a8ac-f85353c20c13">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i68f7027b9fbf486ab6099297483fce64_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTIyOQ_65d44de7-53d6-45fa-beb9-c85c8c6d54ad"
      unitRef="shares">14000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i0ee13003dcce4dc6942a6f1a0a6ff23b_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTU3OA_7023ac59-3a9c-446d-ac63-9a9f72e3c522"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="iff43fb9f687d45a9b42b308a9ca0be26_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTcwMg_dce7e7c6-195c-4218-84b6-f7a319c89225"
      unitRef="number">0</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="ibda73fe4b10c438f9a93a6a8c146b87e_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTcwOA_900d367d-21dc-4c76-b6b6-148e09d3cb15"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i6f3f8865b9264f2d909867828edef103_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTc4Nw_0b6a3dce-6e68-4b70-a901-f71dca80df0d"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="ie7964820f341486d94cb27d2a95fabd4_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTc5NA_86f322bd-7239-4d86-84b9-18177b482388"
      unitRef="number">1.50</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent
      contextRef="i636e9d881d0f4334a86ccbc4a2a476b9_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTg4NQ_221cc20c-42c6-430a-aedf-f899fd527ff3"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent
      contextRef="i5179ada9726d4a68843ffef85c0f81fb_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTg5Mg_5bdc127d-335e-42e9-9e69-a530494e25f2"
      unitRef="number">1.65</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPerformanceBasedCashBonusPaymentPercent>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i68f7027b9fbf486ab6099297483fce64_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTk1OA_848a6152-f95d-4573-b6f7-593b6e7ca681"
      unitRef="shares">84000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i48471c4576504bb3b747b9b261be1bce_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMTk3Nw_2a7f358d-9fcd-4b4a-8822-a265de77b0f2"
      unitRef="shares">4000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric
      contextRef="i58012cce04624a81b6b95a33f81901d6_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjAyOA_7caf04d7-3335-47e7-966a-292de92aa015"
      unitRef="number">0.95</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAchievementOfAwardTargetPerformanceMetric>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i35265d61fd3142709486d174c9d7be62_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjE3MA_678fc99f-f50f-4a81-b5a3-f86bbac8e959"
      unitRef="shares">34000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i2c7b86471e94487d9b8002b25d325f9d_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjE3Nw_22219032-e18e-4924-ba95-fd009badd57d"
      unitRef="shares">82000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i3eac799f77af460dbe800045b364daac_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjI0MA_c3acd3c8-151e-4e27-b4b7-2b3aa3651af8"
      unitRef="shares">48000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i424369774d00452c9bd55713bc6044d7_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjM5MA_9d4aaa01-acc2-45c4-842d-e5271090d9aa"
      unitRef="shares">43000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i9a4243e297d549058944feffe0e80101_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjU0NA_58509701-7fa7-4a8b-9eec-3e33ea89acf2"
      unitRef="shares">25000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i43f85530cb004402a07b293c10c65d67_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjc3MA_66f60ed2-7e16-4e19-a7c8-98eff893ab92"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i55c7a0fe804149a7a0582b590ffb2c66_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjg5NA_d4c6a4e5-18a0-4be0-91a6-b03703ba374b"
      unitRef="number">0</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="i22d5b4bf562e4549ab63eb79c17af0b5_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjkwMA_c9eec4c9-d0bf-4dd5-b2c7-e05c530909f0"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="id4784200dc5a4f9db3db610b6cb7529e_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjk3OQ_fb7d6c75-d737-4ec5-a515-c74cd19d4b60"
      unitRef="number">1</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric
      contextRef="if28e7eab3bce49aaa59219fccac19a90_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjk4Ng_3e7ec41a-a31d-4b03-a07f-27b0f4d73b2b"
      unitRef="number">1.50</appf:SharebasedCompensationArrangementsbySharebasedPaymentAwardPercentOfAwardTargetPerformanceMetric>
    <appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets
      contextRef="i201fa7eeea524a31aca9f6af9ce98df6_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzA3Nw_3ff6fd0c-dd35-46c2-b91d-ac34a47e86c3"
      unitRef="number">1</appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets>
    <appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets
      contextRef="i718f16ece4eb4f1daf775c11394ba26a_D20200101-20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzA4NA_9d047af4-afda-44cc-9357-5ab8feaae48a"
      unitRef="number">1.65</appf:ShareBasedCompensationArrangementsByShareBasedPaymentAwardPercentOfCashBonusPaymentOnInitialTargets>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i71c80e44c373427687d1009911fdbfe3_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzQ4NA_fc63915b-847c-4278-b9c8-57e62c65892c"
      unitRef="usd">3400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i87575cf3fe194d6e83f6657a21c8e808_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzQ5MQ_6287d5cf-47f3-4894-b06a-e3bd3ccd7bff"
      unitRef="usd">2500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzUxMw_e94eb08c-61a1-4b10-8836-fa6e3787d44e"
      unitRef="usd">7800000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="idb09534b787d4d4b872c134d5ccadac9_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzUyMA_4b13c9e1-40c8-4f69-84f7-86f66270c7c2"
      unitRef="usd">6100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="ib3eded853cba49a39065c7d3884619d1_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzY3Mg_73677176-efac-4a60-949f-28b77351a53e"
      unitRef="usd">25200000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i4475a5768258463dbc0db1b1a78755aa_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMzc0NQ_48c629c6-1696-49cc-a0e8-e52a9a785266">P2Y3M18D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDUxNQ_94911519-f02d-47d3-83ae-423759466bc1">&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 activity in connection with our restricted stock awards for the nine months ended September&#160;30, 2020 is as follows (number of shares in thousands):&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-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:66.935%"/&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:14.149%"/&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:14.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Number&#160;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:8pt;font-weight:700;line-height:100%"&gt;Weighted Average&lt;br/&gt;Grant&#160;Date&lt;br/&gt;Fair&#160;Value&#160;per&#160;Share&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;Unvested as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105.88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;160.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;111.38&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;Forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested as of September 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;139.72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i35a46e7ee0a34d63ba82ae0426aa5195_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfMS0yLTEtMS0w_c43385d6-240e-42c2-b624-9fc0f6dc75f1"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i35a46e7ee0a34d63ba82ae0426aa5195_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfMS00LTEtMS0w_f806165c-5eba-4148-9348-01cfd9914649"
      unitRef="usdPerShare">105.88</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfMi0yLTEtMS0w_080cb658-b77a-4895-97ad-5baf1ed98fa6"
      unitRef="shares">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfMi00LTEtMS0w_c8a85b04-55dc-40fd-b8c6-9126f73256bf"
      unitRef="usdPerShare">160.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfMy0yLTEtMS0w_1995abf7-60ec-48b9-b449-cacfa4f72589"
      unitRef="shares">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfMy00LTEtMS0w_16bb87bf-2d6b-4234-b7c3-df220a945ed5"
      unitRef="usdPerShare">111.38</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfNC0yLTEtMS0w_afa25b17-c9c0-46a1-a75f-dbf1424b8d81"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfNC00LTEtMS0w_11aa4dd2-e75f-40e2-81c4-2c746601cc64"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ia62fc528449a45b7b323b361f5fc6b5b_I20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfNS0yLTEtMS0w_75e2e489-d46c-4547-9fea-7bd281927303"
      unitRef="shares">5000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ia62fc528449a45b7b323b361f5fc6b5b_I20200930"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RhYmxlOjgzMjM5NWJiOGU1NTQzZDA5OTM0Zjc1MTYyYjg2MjQ2L3RhYmxlcmFuZ2U6ODMyMzk1YmI4ZTU1NDNkMDk5MzRmNzUxNjJiODYyNDZfNS00LTEtMS0w_13da85ab-1c2c-4d5a-a6bf-96c3030d2697"
      unitRef="usdPerShare">139.72</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfMjM2Mzk1MDAwMDE3OTM_90dd6bd6-881b-4097-8ebc-c8bccb3d85d6">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i16f55b22809c4126a9264a2190edbf27_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDE0OQ_cd11f694-87ab-44c2-ba09-92353e57b196"
      unitRef="usd">200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id8cc2b005bab4c54b416317281c27352_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDE1Ng_43ddb4aa-d991-4fa2-a587-c228f49ce7d7"
      unitRef="usd">100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDIxNQ_6c6fc299-1ad6-4759-883d-31f37bcfd539"
      unitRef="usd">500000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4a7f72bdca7743929513bba7794ca47e_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDIyMg_59b2b752-d3ec-446f-bf0c-2fe9930ccc98"
      unitRef="usd">200000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="ia62fc528449a45b7b323b361f5fc6b5b_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDQxNA_7f0de49b-f6ba-4bb8-9f4d-206c58d5068e"
      unitRef="usd">400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i212bf6e269074ecb91c74a0f1daed206_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF82Ny9mcmFnOmMxODZkMzI5Y2RkMzRkMjE5MzU0ZGMwN2VkZmEyODkzL3RleHRyZWdpb246YzE4NmQzMjljZGQzNGQyMTkzNTRkYzA3ZWRmYTI4OTNfNDQ4Nw_d100ca90-57c3-41a1-b410-d6f2f8547b45">P0Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83MC9mcmFnOjE1NGFhM2Y5ZTlkMTQ2MWVhODViZDkwNDY5OWNmOTZkL3RleHRyZWdpb246MTU0YWEzZjllOWQxNDYxZWE4NWJkOTA0Njk5Y2Y5NmRfMTMzMw_cac1677f-7508-46b8-ab92-fecd5061590c">Income Taxes&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We calculate our benefit from income taxes on a quarterly basis by applying an estimated annual effective tax rate to income from operations and by calculating the tax effect of discrete items recognized during the quarter. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;For the three and nine months ended September&#160;30, 2020, we recorded income tax expense of $52.6 million and $39.5 million, respectively. &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#202124;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The tax provision for the three months ended &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;September&#160;30, 2020 &#xf7;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#202124;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;includes a discrete tax expense of $47.9&#160;million relating to the MyCase Transaction which includes &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;$48.9&#160;million &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#202124;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;of current tax expense on the expected gain on the sale of MyCase, less a $1.0&#160;million benefit on the reversal of deferred tax liabilities relating to MyCase. For tax purposes, the Company plans to file an election to treat the transaction as a sale of assets. As such, the tax impact takes into consideration the tax basis of the assets on the date of sale and the availability of net operating losses and research and development tax credits.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt; The effective tax rate as compared to the U.S. federal statutory rate of 21% differs primarily due to the significance of the benefits associated with stock-based compensation expense and research and development tax credits in relation to the forecasted pre-tax results for the year. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&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 and nine months ended September&#160;30, 2019, we recorded income tax benefit of&#160;$1.3 million and $26.9 million, respectively. During the second quarter of 2019, we evaluated all available positive and negative evidence, including our sustained profitability in 2018 and 2019, the impact of recent acquisitions and future projections of profitability. As a result, we determined that all of our deferred tax assets were more likely than not to be realized and reversed the valuation allowance against those deferred tax assets accordingly.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:3pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There were no material changes to our unrecognized tax benefits during the nine months ended September&#160;30, 2020 and we do not expect to have any significant changes to unrecognized tax benefits through the end of the fiscal year.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83MC9mcmFnOjE1NGFhM2Y5ZTlkMTQ2MWVhODViZDkwNDY5OWNmOTZkL3RleHRyZWdpb246MTU0YWEzZjllOWQxNDYxZWE4NWJkOTA0Njk5Y2Y5NmRfMzA5_6d354371-0f63-472d-9c79-316ea1c5c1d6"
      unitRef="usd">52600000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83MC9mcmFnOjE1NGFhM2Y5ZTlkMTQ2MWVhODViZDkwNDY5OWNmOTZkL3RleHRyZWdpb246MTU0YWEzZjllOWQxNDYxZWE4NWJkOTA0Njk5Y2Y5NmRfMzE2_6cd8561b-c4c5-4df2-96d2-1fa5bede9c8d"
      unitRef="usd">39500000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation
      contextRef="i7a8f7a2424e94970a701d9f1af655305_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83MC9mcmFnOjE1NGFhM2Y5ZTlkMTQ2MWVhODViZDkwNDY5OWNmOTZkL3RleHRyZWdpb246MTU0YWEzZjllOWQxNDYxZWE4NWJkOTA0Njk5Y2Y5NmRfMjE5OTAyMzI1OTE1Mg_b508236d-7d27-4dfa-9f51-888285dd0fcd"
      unitRef="usd">47900000</us-gaap:DiscontinuedOperationTaxEffectOfDiscontinuedOperation>
    <us-gaap:DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation
      contextRef="i7a8f7a2424e94970a701d9f1af655305_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83MC9mcmFnOjE1NGFhM2Y5ZTlkMTQ2MWVhODViZDkwNDY5OWNmOTZkL3RleHRyZWdpb246MTU0YWEzZjllOWQxNDYxZWE4NWJkOTA0Njk5Y2Y5NmRfMjM2Mzk0OTk5OTkwMzQ_7a9c250d-d84a-4a69-89ba-7bbc6253942b"
      unitRef="usd">48900000</us-gaap:DiscontinuedOperationTaxEffectOfIncomeLossFromDisposalOfDiscontinuedOperation>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="i7a8f7a2424e94970a701d9f1af655305_D20200701-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83MC9mcmFnOjE1NGFhM2Y5ZTlkMTQ2MWVhODViZDkwNDY5OWNmOTZkL3RleHRyZWdpb246MTU0YWEzZjllOWQxNDYxZWE4NWJkOTA0Njk5Y2Y5NmRfMjE5OTAyMzI1OTE2MA_97e9b352-287f-435c-b0e0-a69c59783128"
      unitRef="usd">1000000.0</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83MC9mcmFnOjE1NGFhM2Y5ZTlkMTQ2MWVhODViZDkwNDY5OWNmOTZkL3RleHRyZWdpb246MTU0YWEzZjllOWQxNDYxZWE4NWJkOTA0Njk5Y2Y5NmRfNjgy_9cdbcd03-cc7e-4989-b2a6-52ac4aea2c5b"
      unitRef="usd">-1300000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83MC9mcmFnOjE1NGFhM2Y5ZTlkMTQ2MWVhODViZDkwNDY5OWNmOTZkL3RleHRyZWdpb246MTU0YWEzZjllOWQxNDYxZWE4NWJkOTA0Njk5Y2Y5NmRfNjg5_89164f39-6a6b-460f-a9cb-f7b9f64374c3"
      unitRef="usd">-26900000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RleHRyZWdpb246MWFmNmI2ZjJhN2Q1NDk1OTgyY2Q0ZDk2MzBkYjZmN2RfNDY1_c06c1148-8426-4b43-94e2-7bd09e2c1341">Revenue and Other Information&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents our revenue categories for the three and nine months ended September&#160;30, 2020 and 2019 (in thousands):&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-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.016%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight: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:8pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Core solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Value+ services&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;53,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,577&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,422&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;237,624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:10pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the nine months ended September&#160;30, 2020 and 2019, we recognized $4.3 million and $3.2 million of revenue, respectively, which were included in the deferred revenue balances as of December&#160;31, 2019 and 2018, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our revenue is generated primarily from customers in the United States. All of our property and equipment is located in the United States.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RleHRyZWdpb246MWFmNmI2ZjJhN2Q1NDk1OTgyY2Q0ZDk2MzBkYjZmN2RfNDYy_16577db7-2e94-4b5a-bc53-ad88be8d69d9">&lt;div style="margin-top:6pt;text-align:justify;text-indent:36pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents our revenue categories for the three and nine months ended September&#160;30, 2020 and 2019 (in thousands):&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-bottom:5pt;margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.016%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight: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:8pt;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:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Core solutions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,503&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Value+ services&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;53,392&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,645&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,122&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,577&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,422&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;67,935&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;237,624&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;188,650&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ice688e845bc2444b9b67daaa4be90559_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfMi0yLTEtMS0w_c3cde99a-79e0-42c1-8dc0-8da46c209d62"
      unitRef="usd">27117000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9f2d6fb7ff1d40cb90cb370d43d32d4d_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfMi00LTEtMS0w_5ab5f72a-df26-4f27-b7ae-087146316701"
      unitRef="usd">22503000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iabff6279249d4e398178ffecc9b59cb9_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfMi02LTEtMS0w_afa389e2-90e0-42a4-b967-b213e55a6b14"
      unitRef="usd">78080000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9ef4538ca20540a2bd3500502ca79d87_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfMi04LTEtMS0w_388c5a68-bf2a-4d9b-a20d-0586f6cb8f1d"
      unitRef="usd">64934000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i25039c835b9d41fb9d6ae4617369aa63_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfMy0yLTEtMS0w_5e1d6717-c1f9-4c85-97c7-693a1b1c0b70"
      unitRef="usd">53392000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieacd2ea6f4c94ab09cc54fe4040dc049_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfMy00LTEtMS0w_7ab6341c-42e2-4921-aba0-512b9c7c1209"
      unitRef="usd">41645000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifa6c83377c88457591bb2acdaa848175_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfMy02LTEtMS0w_750627ca-73a5-4014-bec2-0ee3175c102d"
      unitRef="usd">149122000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id18bc13a42c64e6591f8900d6ebc2a5b_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfMy04LTEtMS0w_45dde597-5602-4439-ad14-e09b98e2c160"
      unitRef="usd">114399000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1894f4e1fafb42899c64e60d346cca04_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfNC0yLTEtMS0w_bc5b6f92-20aa-4528-8036-22feb16ce4f2"
      unitRef="usd">3577000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i42df08c66e91438db4b1d521de8740cf_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfNC00LTEtMS0w_097f1dfc-b436-4cf3-b7c6-27789492761e"
      unitRef="usd">3787000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5bff4803b74548d584121b73b838b86b_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfNC02LTEtMS0w_339a48a1-d366-47b5-9c3f-8001a32f1aeb"
      unitRef="usd">10422000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i92f018aeac7b4f8f901f724eabb938ae_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfNC04LTEtMS0w_52ddf055-eb4f-4ac8-8531-cd7bf37609e7"
      unitRef="usd">9317000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i97755c110c964880a16e1321e96164ad_D20200701-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfNS0yLTEtMS0w_de3a99a1-134b-4deb-a381-133f8ca04c97"
      unitRef="usd">84086000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i68e122d756684a6d98ea7f8d2bd93acd_D20190701-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfNS00LTEtMS0w_475fdae8-9e7d-4b9b-a614-e9fc364267d8"
      unitRef="usd">67935000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfNS02LTEtMS0w_6c8c85d8-e912-428f-b9e6-72c1354fc4c2"
      unitRef="usd">237624000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RhYmxlOmNjNzAwN2M4MTE1MDQ0YTA5Y2JiODQ4NTdkYzAyMjZjL3RhYmxlcmFuZ2U6Y2M3MDA3YzgxMTUwNDRhMDljYmI4NDg1N2RjMDIyNmNfNS04LTEtMS0w_9041d82f-ee5b-4ba3-b8b7-d1ec8a6ebd7b"
      unitRef="usd">188650000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ia5553e7d6379437d8dfecdd73359dd59_D20200101-20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RleHRyZWdpb246MWFmNmI2ZjJhN2Q1NDk1OTgyY2Q0ZDk2MzBkYjZmN2RfMTk4_b19c0b71-903e-4ca8-afa4-2b682c52c709"
      unitRef="usd">4300000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="ib5cee19ee3ca4726923fa9d8f314e4b2_D20190101-20190930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVlMzI5ZGNhMjZkMDRiYjNiZjJiOTA4NjdhMTEzM2JkL3NlYzo1ZTMyOWRjYTI2ZDA0YmIzYmYyYjkwODY3YTExMzNiZF83My9mcmFnOjFhZjZiNmYyYTdkNTQ5NTk4MmNkNGQ5NjMwZGI2ZjdkL3RleHRyZWdpb246MWFmNmI2ZjJhN2Q1NDk1OTgyY2Q0ZDk2MzBkYjZmN2RfMjA1_52551e32-1beb-4abd-a5eb-47f6f32a5526"
      unitRef="usd">3200000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
</xbrl>
