<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:cpix="http://www.cumberlandpharma.com/20210331"
  xmlns:dei="http://xbrl.sec.gov/dei/2020-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2020-01-31"
  xmlns: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="cpix-20210331.xsd" xlink:type="simple"/>
    <context id="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i38218dfd921040d7b3b26c174a646322_I20210510">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <instant>2021-05-10</instant>
        </period>
    </context>
    <context id="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i32068be194474f9cb55326666a7fbec0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ida5da6da6f1940a89e2ca94214d39333_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie233d42748ec407f95f541fbd71d46ac_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="id2ffeb106dc64405a2176740c3911624_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib06687c2aa5440aa9603d320be455732_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</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="ic61089dc435b40fba685b7b8a3119d6a_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if890c44461b6436496221a526f27e535_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <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="iadc27382cf1543aeab148380997ffd49_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</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="i932d3a3642fe4eea9f64a3315bad0bf3_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ic03d7f9f76264ef5b4cb398729aed58c_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i42ffa52e2ca34a65970a04537b3b4818_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</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="i6cbedf5761f7490b8032ca938d802c9f_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="ic2641b7e1d4f4e36a6431338fd938d84_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i32683bdb8c0e4ba1bd2ad06feb02693a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i02023e16463a45f891a3eca1a68aa423_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0b204f4dda214716a8d2597171f9411e_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ie6a93a5acaec4b8598b2aebbfadd4119_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i832ffbf2902c4a768fc2b9b3becc3924_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="idd6f054d04374954ad9f0a6ad2ea298c_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i745ba0295e724b4bbd4b33a5ee76d597_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="icce24f39974b4ed98da8bfbe93943fbf_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i529667d136134653822f8cd1f52ea7d0_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:AcetadoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i9c72789317264e7cac1350e71f0ab560_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:AcetadoteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i2cea9b0a3e2640afb98e17b1e3a6f819_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:OmeclamoxPakMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i590eaf4520974d29b6b01a687d2d13fc_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:OmeclamoxPakMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="id94b2cb8e46b43f8ba1807feeb2a3fe7_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:KristaloseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i586cba84dc4847daab9569a2b1c1b879_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:KristaloseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ib469a00b1c1e41ebaf007975ede59684_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:VaprisolMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ifcc02cc49f4b429aa9f1c74f9bc16e6b_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:VaprisolMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i7f27ae48034942de95317f99306eea46_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:CaldolorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i645b158fe75341daa01ca68e5cf1c2b6_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:CaldolorMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i613693e28d6e4692be7579f7e5ab1d49_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:VIBATIVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i823406d319024699bfab22321dde04e3_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:VIBATIVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i39d646b80ea44ec583582f1c79953d87_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:RediTrexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i0edefe7ed797492eae26ff926abd627a_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:RediTrexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i763bd43cce884a5780a96bbcfb7e0253_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i541a71eb9df04c92806ebdb9f1ae4771_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">cpix:OtherProductsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i2e10e772bb294442900e5d9b697e71e3_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i4068d158ecb7413b92d283e5bce21c80_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:GrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ic3f04630c9f547b5be864f1c66564cb8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:VIBATIVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7b759ac132064b2787c2b5a4ad1e70f7_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:VIBATIVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="idd43aeaa2b4b4955aef55acce99cd31d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">cpix:IfetrobanClinicalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2a40e1cbac204fb18cf00c3b1f6c81c6_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">cpix:IfetrobanClinicalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i61c481ad9f504703a94e6b9be6f518e2_I20100513">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <instant>2010-05-13</instant>
        </period>
    </context>
    <context id="i26d732474c194cee89c889d4f8a693f2_I20160131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <instant>2016-01-31</instant>
        </period>
    </context>
    <context id="i08b1da814e684be58d651fa09524635d_D20171101-20171130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <startDate>2017-11-01</startDate>
            <endDate>2017-11-30</endDate>
        </period>
    </context>
    <context id="ib2eda2a4dac14ec3b727863dc09461ee_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i176b3b536b2f4266bb9351936fafc0a5_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="id97ac84efc164cb38bbe53650262439c_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i8efd5212c2ea4438a3c6b998c82af06a_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">cpix:IncentiveStockOptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i2ddf705ec76d45ce90dcfd34b198b915_I20201007">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">cpix:FourthAmendmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cpix:PinnacleBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-07</instant>
        </period>
    </context>
    <context id="i49d1ed31c7894e6b987d5f1b88ea735e_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ida4acda1a0824ddd98ba37f7456c0970_D20200814-20200814">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cpix:PinnacleBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-14</startDate>
            <endDate>2020-08-14</endDate>
        </period>
    </context>
    <context id="ic626a31ddbca438a89b05457be379d25_D20200814-20200814">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cpix:PinnacleBankMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-14</startDate>
            <endDate>2020-08-14</endDate>
        </period>
    </context>
    <context id="ic599c92ccd35431db3b06f4238341683_D20200814-20200814">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-08-14</startDate>
            <endDate>2020-08-14</endDate>
        </period>
    </context>
    <context id="ib53bd71fe3994d2da24c5195efd6412c_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cpix:PinnacleBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i6ccab55d30cd4f3595d41c3c3554b52a_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cpix:PinnacleBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i830bb87cb40044cd957e698b46665fd6_D20200420-20200420">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">cpix:PinnacleBankMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-20</startDate>
            <endDate>2020-04-20</endDate>
        </period>
    </context>
    <context id="i59247f7dd59d4f28aee9f37d45d509aa_I20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cpix:WinHealthInvestmentSingaporeLtdDomain</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-31</instant>
        </period>
    </context>
    <context id="icd3a639d6f35423aa3c2f6243856ec35_I20200831">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cpix:WinHealthInvestmentSingaporeLtdDomain</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-08-31</instant>
        </period>
    </context>
    <context id="i6c5f356638654bbdaf6b452874ae5eaf_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ic4690540184b48fa90ef75b783a03efb_D20181101-20181130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:VIBATIVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2018-11-01</startDate>
            <endDate>2018-11-30</endDate>
        </period>
    </context>
    <context id="ied6025b276df445997781e0a3e02560b_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:VIBATIVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i3416c55598e64e2b95051149db842304_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherCurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:VIBATIVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="id0ecdd80f5234983a18050bf8ecf1cda_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:OtherNoncurrentLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:VIBATIVMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ia0a8b608c7614df795f5ef973e97f9d9_D20161101-20161130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:MethotrexateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-11-01</startDate>
            <endDate>2016-11-30</endDate>
        </period>
    </context>
    <context id="i7582538d23084840b14af98041033df1_D20161101-20161130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:MethotrexateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2016-11-01</startDate>
            <endDate>2016-11-30</endDate>
        </period>
    </context>
    <context id="id8d1afac2fe04daeb9be14e2c01cb3cf_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:MethotrexateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="ie0eada6a93ec412dbdce374da1fb4f0c_I20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:MethotrexateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="id745598dd60b4f4088bc62c2d5c607b0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:MethotrexateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9a68ec61d27040248d7dd487e14454d4_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">cpix:MethotrexateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i78e7ac2dbdbe4730beeb4a8d45f46205_D20191001-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cpix:ClinigenHealthcareLimitedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-10-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="i6a4c618331f148a9b3e193bc04d8c16e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6874375315de4805a4b9a90949e9e0a9_D20210101-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cpix:ClinigenHealthcareLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i8d4b97906e974844a32b25017974062a_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001087294</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CounterpartyNameAxis">cpix:ClinigenHealthcareLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</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="segment">
        <measure>cpix:Segment</measure>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <dei:DocumentFiscalYearFocus
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180L2ZyYWc6OWExZjA3ZTllZmI2NGNjMmFiZmZhOGRjYzI5ZDY0NWUvdGFibGU6ZjEwOGY4YTQyYWM2NGRhNTlhMjA2ZGM2MjdlZGY1YTgvdGFibGVyYW5nZTpmMTA4ZjhhNDJhYzY0ZGE1OWEyMDZkYzYyN2VkZjVhOF81LTEtMS0xLTA_f7862fdf-139e-453e-89ed-7e9448a68bc0">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180L2ZyYWc6OWExZjA3ZTllZmI2NGNjMmFiZmZhOGRjYzI5ZDY0NWUvdGFibGU6ZjEwOGY4YTQyYWM2NGRhNTlhMjA2ZGM2MjdlZGY1YTgvdGFibGVyYW5nZTpmMTA4ZjhhNDJhYzY0ZGE1OWEyMDZkYzYyN2VkZjVhOF82LTEtMS0xLTA_99926dee-1365-47f0-9335-eb40651dec7c">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180L2ZyYWc6OWExZjA3ZTllZmI2NGNjMmFiZmZhOGRjYzI5ZDY0NWUvdGFibGU6ZjEwOGY4YTQyYWM2NGRhNTlhMjA2ZGM2MjdlZGY1YTgvdGFibGVyYW5nZTpmMTA4ZjhhNDJhYzY0ZGE1OWEyMDZkYzYyN2VkZjVhOF83LTEtMS0xLTA_f3e2e0b2-fba2-4a22-95a1-e02a4f858100">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180L2ZyYWc6OWExZjA3ZTllZmI2NGNjMmFiZmZhOGRjYzI5ZDY0NWUvdGV4dHJlZ2lvbjo5YTFmMDdlOWVmYjY0Y2MyYWJmZmE4ZGNjMjlkNjQ1ZV83OQ_be221f3d-a6d1-4c5d-8e19-bd1577ef422d">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityCentralIndexKey
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180L2ZyYWc6OWExZjA3ZTllZmI2NGNjMmFiZmZhOGRjYzI5ZDY0NWUvdGV4dHJlZ2lvbjo5YTFmMDdlOWVmYjY0Y2MyYWJmZmE4ZGNjMjlkNjQ1ZV84MA_63b724cd-9e1a-45c1-9d96-d7eb5d3f0dbf">0001087294</dei:EntityCentralIndexKey>
    <dei:DocumentType
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18yMDEy_ff6a6f6e-cd70-42a3-895e-0e87f75ada01">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6NjY1NDZlYmI3MDMwNGU4MDk1YjJhMTE2ZTM4MjczZjEvdGFibGVyYW5nZTo2NjU0NmViYjcwMzA0ZTgwOTViMmExMTZlMzgyNzNmMV8wLTAtMS0xLTA_c8d05ffd-1b67-4738-9809-64849bd7369d">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18xMzE_94939131-3d30-4b7c-af17-f8aee63cb279">2021-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6OGYyNDQwMDE3YTQyNDcyYThiNGU2NDIwM2UyNDIzNmYvdGFibGVyYW5nZTo4ZjI0NDAwMTdhNDI0NzJhOGI0ZTY0MjAzZTI0MjM2Zl8wLTAtMS0xLTA_512a1272-0084-4db8-8e66-1d3ce05a3c33">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18yMDE1_d022d4d1-cf98-4200-8d49-a48db962c4c1">001-33637</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18yMDA2_161a0e35-e34c-4fad-b523-410ca98b0eda">Cumberland Pharmaceuticals Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6MjgwMDMwZDg3OGY5NDY3YTkwNWI2NTQ0NGU5MjdhZDkvdGFibGVyYW5nZToyODAwMzBkODc4Zjk0NjdhOTA1YjY1NDQ0ZTkyN2FkOV8wLTAtMS0xLTA_daed7df7-6f34-4678-b61b-ec6b1132301d">TN</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6MjgwMDMwZDg3OGY5NDY3YTkwNWI2NTQ0NGU5MjdhZDkvdGFibGVyYW5nZToyODAwMzBkODc4Zjk0NjdhOTA1YjY1NDQ0ZTkyN2FkOV8wLTItMS0xLTA_53e0ff7c-59f8-4ed7-9e6d-6fa381e3355c">62-1765329</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6MjgwMDMwZDg3OGY5NDY3YTkwNWI2NTQ0NGU5MjdhZDkvdGFibGVyYW5nZToyODAwMzBkODc4Zjk0NjdhOTA1YjY1NDQ0ZTkyN2FkOV8zLTAtMS0xLTAvdGV4dHJlZ2lvbjphMTYzZDg4Njk1ZWU0NGYwOTM1ZTM5YTc5MTU5YTExYV81_b1f8d365-90e2-4bbe-9446-a6f598fa05a1">2525 West End Avenue</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6MjgwMDMwZDg3OGY5NDY3YTkwNWI2NTQ0NGU5MjdhZDkvdGFibGVyYW5nZToyODAwMzBkODc4Zjk0NjdhOTA1YjY1NDQ0ZTkyN2FkOV8zLTAtMS0xLTAvdGV4dHJlZ2lvbjphMTYzZDg4Njk1ZWU0NGYwOTM1ZTM5YTc5MTU5YTExYV85_d1475538-1afe-4550-89c3-0d3632cb5ab9">Suite 950</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6MjgwMDMwZDg3OGY5NDY3YTkwNWI2NTQ0NGU5MjdhZDkvdGFibGVyYW5nZToyODAwMzBkODc4Zjk0NjdhOTA1YjY1NDQ0ZTkyN2FkOV8zLTAtMS0xLTAvdGV4dHJlZ2lvbjphMTYzZDg4Njk1ZWU0NGYwOTM1ZTM5YTc5MTU5YTExYV8xMw_52ecac74-0e07-4427-ba66-6774e76cc534">Nashville</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6MjgwMDMwZDg3OGY5NDY3YTkwNWI2NTQ0NGU5MjdhZDkvdGFibGVyYW5nZToyODAwMzBkODc4Zjk0NjdhOTA1YjY1NDQ0ZTkyN2FkOV8zLTAtMS0xLTAvdGV4dHJlZ2lvbjphMTYzZDg4Njk1ZWU0NGYwOTM1ZTM5YTc5MTU5YTExYV8xNw_62e87303-23c6-48a1-a4bc-cdb89fa43c68">TN</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6MjgwMDMwZDg3OGY5NDY3YTkwNWI2NTQ0NGU5MjdhZDkvdGFibGVyYW5nZToyODAwMzBkODc4Zjk0NjdhOTA1YjY1NDQ0ZTkyN2FkOV8zLTItMS0xLTA_14cc438b-5116-465f-ad5b-ed0b49cec3e4">37203</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18yMDA4_ab3907ed-78d9-4a51-86cb-a193fef27409">615</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18yMDA5_af818f16-f07f-44d6-8878-ea09edadd910">255-0068</dei:LocalPhoneNumber>
    <dei:EntityCurrentReportingStatus
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18yMDEw_5116375a-427b-4674-8faf-554a0a44b9d1">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18yMDA3_3ced5073-0912-4fec-9507-b46c1b5be0f9">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6M2JlMmEwMTJiMTU2NDNhMDk4ZDc1N2E2NjQ3OWVkYmYvdGFibGVyYW5nZTozYmUyYTAxMmIxNTY0M2EwOThkNzU3YTY2NDc5ZWRiZl8xLTAtMS0xLTA_aff32518-15c4-4dee-88b8-653ae0b8cd4b">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6M2JlMmEwMTJiMTU2NDNhMDk4ZDc1N2E2NjQ3OWVkYmYvdGFibGVyYW5nZTozYmUyYTAxMmIxNTY0M2EwOThkNzU3YTY2NDc5ZWRiZl8xLTUtMS0xLTA_785b8669-8ce9-4a55-bdad-0b3069a38dd9">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6M2JlMmEwMTJiMTU2NDNhMDk4ZDc1N2E2NjQ3OWVkYmYvdGFibGVyYW5nZTozYmUyYTAxMmIxNTY0M2EwOThkNzU3YTY2NDc5ZWRiZl8yLTItMS0xLTA_1dd6ff34-5101-4af8-b191-cfb9bcb4a5d9">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18yMDEx_b5b1e754-a11d-41d7-b7fa-cd74961acc65">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i38218dfd921040d7b3b26c174a646322_I20210510"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGV4dHJlZ2lvbjphMTRhNmVhOWEwN2M0MjA5OGNkZGEwYzEzMmI0MGFlM18xMDk5NTExNjI5ODMy_c0023b3f-7fd0-4603-9374-b60e4d21c7c6"
      unitRef="shares">15050025</dei:EntityCommonStockSharesOutstanding>
    <dei:Security12bTitle
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6NGMxM2Y5NWJiMTNlNDU4MWI2ZTY5NmRlODJkZTZhNTQvdGFibGVyYW5nZTo0YzEzZjk1YmIxM2U0NTgxYjZlNjk2ZGU4MmRlNmE1NF8xLTAtMS0xLTA_4db93bd3-51c6-45b0-972e-e254e18891fb">Common stock, no par value</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6NGMxM2Y5NWJiMTNlNDU4MWI2ZTY5NmRlODJkZTZhNTQvdGFibGVyYW5nZTo0YzEzZjk1YmIxM2U0NTgxYjZlNjk2ZGU4MmRlNmE1NF8xLTItMS0xLTA_a128c659-e87a-410b-af00-a5b9159cb3cc">CPIX</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xL2ZyYWc6YTE0YTZlYTlhMDdjNDIwOThjZGRhMGMxMzJiNDBhZTMvdGFibGU6NGMxM2Y5NWJiMTNlNDU4MWI2ZTY5NmRlODJkZTZhNTQvdGFibGVyYW5nZTo0YzEzZjk1YmIxM2U0NTgxYjZlNjk2ZGU4MmRlNmE1NF8xLTQtMS0xLTA_47eb58ae-5f24-4352-bb46-5e3f06fdbae0">NASDAQ</dei:SecurityExchangeName>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMy0xLTEtMS0w_d33521a3-b4cd-427a-9856-711dee5fa502"
      unitRef="usd">24922925</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMy0zLTEtMS0w_fe1c004c-6244-43f1-966b-fede490650b0"
      unitRef="usd">24753796</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfNS0xLTEtMS0w_29839a91-62fe-4f02-9134-dd58203d5088"
      unitRef="usd">12549297</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfNS0zLTEtMS0w_af242aa1-5d35-4891-8938-a663a877b5e6"
      unitRef="usd">12377713</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfNi0xLTEtMS0w_0292b84e-9564-4c3f-8b67-25ee9943f2e1"
      unitRef="usd">10010763</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfNi0zLTEtMS0w_5fab1f31-8dc6-4297-87a6-0c817a17b06c"
      unitRef="usd">10638157</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfOC0xLTEtMS0w_8f658f14-e20e-499f-8703-c94d9170b88b"
      unitRef="usd">1900032</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfOC0zLTEtMS0w_d1e36c81-23d5-451a-89ec-eae869ac31ba"
      unitRef="usd">2199926</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfOS0xLTEtMS0w_aac82d83-eda7-4ae8-8aee-94483a8b5ca9"
      unitRef="usd">49383017</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfOS0zLTEtMS0w_ef682c62-abff-4c73-94cf-efac23a8b68f"
      unitRef="usd">49969592</us-gaap:AssetsCurrent>
    <us-gaap:InventoryNoncurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTAtMS0xLTEtMA_e08e8a0f-31a3-4e29-bcc1-1aa0069caa8d"
      unitRef="usd">10415786</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryNoncurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTAtMy0xLTEtMA_f042b44a-8008-40ae-a3a4-fb073beacd91"
      unitRef="usd">11656742</us-gaap:InventoryNoncurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTEtMS0xLTEtMA_aa83e25e-73fb-4582-b096-50a09db6256b"
      unitRef="usd">534933</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTEtMy0xLTEtMA_cd08681a-f8dd-4b18-8742-cca21acdf631"
      unitRef="usd">574169</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTItMS0xLTEtMA_76fb9a83-5ec1-40ed-90cb-3df39a883608"
      unitRef="usd">27024544</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTItMy0xLTEtMA_ab8903a5-dc52-414c-9c5c-7ed1074ade11"
      unitRef="usd">28118316</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:Goodwill
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTMtMS0xLTEtMA_54a0ac28-45c0-4f0b-8993-8e8be71432d8"
      unitRef="usd">882000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTMtMy0xLTEtMA_841d9fe2-690e-4354-8902-1191a2f2def4"
      unitRef="usd">882000</us-gaap:Goodwill>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTUtMS0xLTEtMA_e6f68ee6-031b-45cd-af89-12fb7eb56130"
      unitRef="usd">1784142</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTUtMy0xLTEtMA_8a2d7a39-c421-4f89-9abd-0202e1a6c662"
      unitRef="usd">2028148</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTYtMS0xLTEtMA_52a1e1ed-af2b-49cb-a05d-22f8ce38d44b"
      unitRef="usd">3323603</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTYtMy0xLTEtMA_24e0c4d7-96dd-4ed5-8572-839c3ffa7555"
      unitRef="usd">3234338</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTctMS0xLTEtMA_06cd07a6-20fd-4a57-9661-41fd0c2bcd36"
      unitRef="usd">93348025</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMTctMy0xLTEtMA_cc4803e7-bf6e-4fc1-b0a0-8062958465dc"
      unitRef="usd">96463305</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjAtMS0xLTEtMA_89c424ee-fe3d-43ce-bfcc-80ed383caee7"
      unitRef="usd">10466281</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjAtMy0xLTEtMA_116515bb-9e93-43f2-8d3b-9d5b84435c19"
      unitRef="usd">13396286</us-gaap:AccountsPayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjItMS0xLTEtMA_7796e2c6-0558-49f6-995c-98d965dcdafe"
      unitRef="usd">1042074</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjItMy0xLTEtMA_dc94fbbf-3c81-49db-abe0-1fb72ccc9b00"
      unitRef="usd">1016779</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjQtMS0xLTEtMA_9e0f663f-4808-477e-bad1-b51ac216d73d"
      unitRef="usd">11339215</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjQtMy0xLTEtMA_324c97e6-4ca2-413a-b8ed-4e7beae9bf31"
      unitRef="usd">11254381</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjUtMS0xLTEtMA_744eacf5-00f8-49ed-91f2-8886148f46ce"
      unitRef="usd">22847570</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjUtMy0xLTEtMA_6c20335d-5c80-4416-955d-9fcaea94d70e"
      unitRef="usd">25667446</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjYtMS0xLTEtMA_e72ee778-5567-4e11-8863-440f6384af43"
      unitRef="usd">15000000</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjYtMy0xLTEtMA_80787f93-52ed-462f-a02a-96c1c18f6620"
      unitRef="usd">15000000</us-gaap:LongTermLineOfCredit>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjctMS0xLTEtMA_cb40b9a6-bb5e-42c8-86cd-e07142a6e99b"
      unitRef="usd">789200</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjctMy0xLTEtMA_c9d0c727-a838-40f7-a4f0-60c637a599de"
      unitRef="usd">1059693</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <cpix:OtherLongTermObligationsExcludingCurrentPortion
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjgtMS0xLTEtMA_3cf53b17-f013-4d4e-85be-d2e06e81f63a"
      unitRef="usd">7833328</cpix:OtherLongTermObligationsExcludingCurrentPortion>
    <cpix:OtherLongTermObligationsExcludingCurrentPortion
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjgtMy0xLTEtMA_f4a58ad9-68f9-4efc-a306-9b2e02ad46fb"
      unitRef="usd">7862772</cpix:OtherLongTermObligationsExcludingCurrentPortion>
    <us-gaap:Liabilities
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjktMS0xLTEtMA_6cd25af9-6d1d-44dc-8726-56d5c69922d8"
      unitRef="usd">46470098</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMjktMy0xLTEtMA_82f00a52-f8eb-48d1-85d6-8478c42f5f84"
      unitRef="usd">49589911</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzAtMS0xLTEtMA_24861e21-64a8-4f6d-b12e-a2340c5fc4c4"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzAtMy0xLTEtMA_6081c930-102a-4cea-9a2e-4f6e408d842f"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommonStockNoParValue
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmI5MDU4Mzk1MDE1ZTRiNWM4ZGU1MTcwNGMyMjFhYWQzXzE3_4a90d0a5-e8b6-46d3-a393-81809ef3b4d3"
      unitRef="usdPerShare">0</us-gaap:CommonStockNoParValue>
    <us-gaap:CommonStockNoParValue
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmI5MDU4Mzk1MDE1ZTRiNWM4ZGU1MTcwNGMyMjFhYWQzXzE3_b618b274-8d48-4d53-8410-cecdd2764c56"
      unitRef="usdPerShare">0</us-gaap:CommonStockNoParValue>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmI5MDU4Mzk1MDE1ZTRiNWM4ZGU1MTcwNGMyMjFhYWQzXzMx_3a1b34fb-db9f-491e-8035-5d383a1baee8"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmI5MDU4Mzk1MDE1ZTRiNWM4ZGU1MTcwNGMyMjFhYWQzXzMx_f12e2eeb-1599-4ceb-b23f-9cad955f0321"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmI5MDU4Mzk1MDE1ZTRiNWM4ZGU1MTcwNGMyMjFhYWQzXzUz_15a76be6-cdb6-4ad8-99b9-713e4836e965"
      unitRef="shares">15084464</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmI5MDU4Mzk1MDE1ZTRiNWM4ZGU1MTcwNGMyMjFhYWQzXzUz_eeadc2e3-1b8a-43a6-84a4-a159d7563a5f"
      unitRef="shares">15084464</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmI5MDU4Mzk1MDE1ZTRiNWM4ZGU1MTcwNGMyMjFhYWQzXzYw_55264ba8-416e-4543-a917-95f9a693f62a"
      unitRef="shares">14988429</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMC0xLTEtMC90ZXh0cmVnaW9uOmI5MDU4Mzk1MDE1ZTRiNWM4ZGU1MTcwNGMyMjFhYWQzXzYw_8bfc0231-3bf1-4c57-9e45-8c33713e6eb6"
      unitRef="shares">14988429</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMS0xLTEtMA_281bc740-d703-41f5-8e51-613064f94b53"
      unitRef="usd">48981395</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzMtMy0xLTEtMA_64c2bfd4-79bc-4017-b20b-b5817e8b7a49"
      unitRef="usd">49121523</us-gaap:CommonStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzQtMS0xLTEtMA_a4771095-bb7f-4edb-8ccb-67c4e0af2513"
      unitRef="usd">-1964185</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzQtMy0xLTEtMA_5ae1f4d7-7dc9-4ead-83fe-f3a8f0dd34cd"
      unitRef="usd">-2131013</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzUtMS0xLTEtMA_e60561c1-d8bf-470f-b636-d978833b2129"
      unitRef="usd">47017210</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzUtMy0xLTEtMA_ba3c2eeb-23c4-492c-9fe1-ad5b64ecabaf"
      unitRef="usd">46990510</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzYtMS0xLTEtMA_69db001e-5651-40d9-bd6f-86e60d54e48c"
      unitRef="usd">-139283</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzYtMy0xLTEtMA_8b2402a7-3810-48df-9ba3-1e5ad24917a0"
      unitRef="usd">-117116</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzctMS0xLTEtMA_3a4d177b-a63d-4aac-be48-9b064b18e104"
      unitRef="usd">46877927</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzctMy0xLTEtMA_85ab35a6-eac1-4551-a28e-cf483a79f0bd"
      unitRef="usd">46873394</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzgtMS0xLTEtMA_acc8603e-6fb6-490d-9a4c-75cb818295d1"
      unitRef="usd">93348025</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xNi9mcmFnOjgzOTg0NWZmOTc3NjQ2N2VhZjBlOGJkNDQ4YTNmMGFkL3RhYmxlOjdkZTI1NDJjMjZiNTQ0NGFhOGYxMmQ1NGVmY2RkNWQ1L3RhYmxlcmFuZ2U6N2RlMjU0MmMyNmI1NDQ0YWE4ZjEyZDU0ZWZjZGQ1ZDVfMzgtMy0xLTEtMA_6852c40a-30a2-4a4f-86d0-26f691f6dc09"
      unitRef="usd">96463305</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMi0xLTEtMS0w_e841fe40-cca9-43f6-a292-bcf416010925"
      unitRef="usd">10537159</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMi0zLTEtMS0w_9f7d72ad-210a-414d-85a5-9116d33da034"
      unitRef="usd">8330734</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfNC0xLTEtMS0w_90586fae-1ad3-454e-99ac-c9ee6840d334"
      unitRef="usd">2417329</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfNC0zLTEtMS0w_a092a26e-ab23-4fb5-b101-1a51232f719e"
      unitRef="usd">1634181</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfNS0xLTEtMS0w_301c2017-453d-4354-879a-61bfde8f7c7d"
      unitRef="usd">3787340</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfNS0zLTEtMS0w_a92df567-9d5d-433e-aa73-f20d64eda4f6"
      unitRef="usd">3707676</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfNi0xLTEtMS0w_55c50c9f-7e61-46cd-9146-abf97a1b4017"
      unitRef="usd">1257367</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfNi0zLTEtMS0w_b2f2c74b-3697-4402-8ae4-b8480d4da8d3"
      unitRef="usd">1722555</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfNy0xLTEtMS0w_1e9a1dd4-4281-4b74-a6ef-58514ee9ca56"
      unitRef="usd">2230509</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfNy0zLTEtMS0w_0ca2a97d-9aea-40d9-a2ad-45c543d2f2e3"
      unitRef="usd">2036284</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfOC0xLTEtMS0w_6ec40728-295d-409c-b5f2-1882e606c562"
      unitRef="usd">1168914</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfOC0zLTEtMS0w_b734b62b-6a84-4c19-b8bf-76b62bfa1b3d"
      unitRef="usd">1076039</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:CostsAndExpenses
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfOS0xLTEtMS0w_e350de00-52ca-4f1b-a66c-4752e6ab21c5"
      unitRef="usd">10861459</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfOS0zLTEtMS0w_3cbdb0b4-1419-4370-80c3-a8dbc9e22f53"
      unitRef="usd">10176735</us-gaap:CostsAndExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTAtMS0xLTEtMA_8b8d139a-a7fd-4b99-bb49-14f59b07ed77"
      unitRef="usd">-324300</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTAtMy0xLTEtMA_046da1cd-ce3e-40be-b04b-6b006041f03e"
      unitRef="usd">-1846001</us-gaap:OperatingIncomeLoss>
    <us-gaap:InvestmentIncomeInterest
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTEtMS0xLTEtMA_1e4443db-9cc9-442d-bf8b-49d0b503656a"
      unitRef="usd">5426</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTEtMy0xLTEtMA_2fc3870a-a699-4faa-ac63-67d082111d5f"
      unitRef="usd">29888</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InterestExpense
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTItMS0xLTEtMA_a4c7379f-5d83-4d33-92fe-bb34760c705a"
      unitRef="usd">24417</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTItMy0xLTEtMA_4b36212d-72b3-452b-a931-ad19a62178a1"
      unitRef="usd">33065</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTMtMS0xLTEtMA_4d5dc03d-f595-4682-b525-cdf2cb3e0777"
      unitRef="usd">-343291</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTMtMy0xLTEtMA_e114a97d-92dc-4115-9234-f7ebd2bf7cf8"
      unitRef="usd">-1849178</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTQtMS0xLTEtMA_dab3f8a4-d725-4a99-a76f-2b0028570f95"
      unitRef="usd">7458</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTQtMy0xLTEtMA_cc770ad9-0e65-4eea-8e70-488e02beb7ba"
      unitRef="usd">34240</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTUtMS0xLTEtMA_f70f9fd6-6381-435a-8bf4-30043e54eac3"
      unitRef="usd">-350749</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTUtMy0xLTEtMA_f5f0e4ac-d631-4ca7-9f9b-aa2516b5b4a1"
      unitRef="usd">-1883418</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTYtMS0xLTEtMA_5baed91d-594a-4426-a50b-c6ba3234eb82"
      unitRef="usd">495410</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTYtMy0xLTEtMA_1049c477-057b-4f74-b478-8dc4cc4f75de"
      unitRef="usd">818273</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTctMS0xLTEtMA_704e1c94-abc0-40d6-af33-754c88910bc0"
      unitRef="usd">144661</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTctMy0xLTEtMA_8ca5ee37-e8e2-4271-8f31-0b410c3b892b"
      unitRef="usd">-1065145</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTgtMS0xLTEtMA_c953f20e-2dcc-426e-902a-9cbb34db97e5"
      unitRef="usd">-22167</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTgtMy0xLTEtMA_38c11bb2-890c-477f-b418-e8268b19696b"
      unitRef="usd">-9525</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTktMS0xLTEtMA_6d3d5965-f6be-4ce1-89a9-20450e17c16e"
      unitRef="usd">166828</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMTktMy0xLTEtMA_640be224-2250-4e6a-9bfa-cd9636bc3f3b"
      unitRef="usd">-1055620</us-gaap:NetIncomeLoss>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjEtMS0xLTEtMA_2fe4bed7-d61f-4bf2-913a-75bdc25930fd"
      unitRef="usdPerShare">-0.02</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerBasicShare
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjEtMy0xLTEtMA_06f1ac42-42ce-4159-9f55-8f44256a0795"
      unitRef="usdPerShare">-0.12</us-gaap:IncomeLossFromContinuingOperationsPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjItMS0xLTEtMA_23719c4b-c48e-4431-9de0-e1b6c2b77eca"
      unitRef="usdPerShare">0.03</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjItMy0xLTEtMA_c55102c0-8d74-4721-9c9b-525a70dd7c94"
      unitRef="usdPerShare">0.05</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare>
    <us-gaap:EarningsPerShareBasic
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjMtMS0xLTEtMA_5fc32c6c-0243-4383-98ac-1575270faefd"
      unitRef="usdPerShare">0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjMtMy0xLTEtMA_92083032-3aa3-4990-9890-b4d152c4eb62"
      unitRef="usdPerShare">-0.07</us-gaap:EarningsPerShareBasic>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjUtMS0xLTEtMA_b5120b41-4b96-497c-88ca-c74461e1a32b"
      unitRef="usdPerShare">-0.02</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjUtMy0xLTEtMA_e05168eb-ff78-487c-81b7-e5f69876af5d"
      unitRef="usdPerShare">-0.12</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjYtMS0xLTEtMA_82c87cc6-7636-4e3c-8eef-2ee18ea5c0d9"
      unitRef="usdPerShare">0.03</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjYtMy0xLTEtMA_5e954a03-4809-402e-afaa-152c5874e8a8"
      unitRef="usdPerShare">0.05</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjctMS0xLTEtMA_471b74cc-5f1f-4bb9-8103-dfd541b64264"
      unitRef="usdPerShare">0.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjctMy0xLTEtMA_3b38c04c-5940-4926-8e81-c570de37e4fa"
      unitRef="usdPerShare">-0.07</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjktMS0xLTEtMA_3f443b5e-ab6e-4d21-ba42-06ae5407afc6"
      unitRef="shares">14974663</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMjktMy0xLTEtMA_e275d1b9-295a-472e-8e87-c97786815ebd"
      unitRef="shares">15240614</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMzAtMS0xLTEtMA_ee53aef5-becf-4d4f-b0c3-f2e6dadf5002"
      unitRef="shares">15244146</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18xOS9mcmFnOjgwMzJhYWY1ZjY1MjQ2MmE5NzYyNTZjZjZiZGM2MDM2L3RhYmxlOjhkZjlhMGQ0NzhlMzRjZTQ4MTJkODkzNjMyMTYzZTBkL3RhYmxlcmFuZ2U6OGRmOWEwZDQ3OGUzNGNlNDgxMmQ4OTM2MzIxNjNlMGRfMzAtMy0xLTEtMA_5fe8f37d-1e79-4a11-8666-533b5b9701a8"
      unitRef="shares">15578309</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMy0xLTEtMS0w_a8098da5-5a8b-4dd3-807c-b612652d4f37"
      unitRef="usd">144661</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMy0zLTEtMS0w_d1b89506-f4e5-457f-ae24-a9a5960f1c94"
      unitRef="usd">-1065145</us-gaap:ProfitLoss>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNC0xLTEtMS0w_977daff6-1329-4239-bb5e-f539f3d4f188"
      unitRef="usd">495410</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNC0zLTEtMS0w_4db65a1e-d7a5-4b53-8765-d86405af3fde"
      unitRef="usd">818273</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNS0xLTEtMS0w_d852595b-fd5d-414a-a7d5-8f7ffe220d1d"
      unitRef="usd">-350749</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNS0zLTEtMS0w_087bc6a1-13f3-4749-aed3-2b515571f115"
      unitRef="usd">-1883418</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNy0xLTEtMS0w_97b27229-dc34-44f0-990a-9fde269d614b"
      unitRef="usd">1227607</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNy0zLTEtMS0w_391cfd0c-283e-4058-a501-ab62d8461e60"
      unitRef="usd">1152062</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfOS0xLTEtMS0w_f3c296d5-de0b-48ee-adb6-de0a31f68f55"
      unitRef="usd">162960</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfOS0zLTEtMS0w_019c0741-d45f-4f37-ab7a-9d1bfa22ba44"
      unitRef="usd">264574</us-gaap:ShareBasedCompensation>
    <us-gaap:ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTAtMS0xLTEtMA_33996a0e-72ba-4d8e-bced-935031d31b2b"
      unitRef="usd">280020</us-gaap:ExcessTaxBenefitFromShareBasedCompensationOperatingActivities>
    <us-gaap:ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTAtMy0xLTEtMA_73de50ff-2b0d-4f2e-8dfb-b0d408963182"
      unitRef="usd">543006</us-gaap:ExcessTaxBenefitFromShareBasedCompensationOperatingActivities>
    <cpix:IncreaseDecreaseInCashSurrenderValueOfLifeInsurancePolicy
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTAtMS0xLTEtMTE1Nw_ca90fe73-4bef-4d7b-801e-44d072ba9e91"
      unitRef="usd">76300</cpix:IncreaseDecreaseInCashSurrenderValueOfLifeInsurancePolicy>
    <cpix:IncreaseDecreaseInCashSurrenderValueOfLifeInsurancePolicy
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTAtMy0xLTEtMTE1Nw_be55e431-09c7-48f0-8a3e-c9ec60684514"
      unitRef="usd">-548261</cpix:IncreaseDecreaseInCashSurrenderValueOfLifeInsurancePolicy>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTEtMS0xLTEtMA_8c22a6e7-7e3f-4e98-97d3-72af3a52d79b"
      unitRef="usd">13833</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTEtMy0xLTEtMA_505260f2-1ba7-472c-8d81-72e54b6c2c91"
      unitRef="usd">11333</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTQtMS0xLTEtMA_e56b51c4-83cf-43eb-88c3-d5682d328adb"
      unitRef="usd">171584</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTQtMy0xLTEtMA_9a41cd78-e787-4eab-85fd-b769df65fd6f"
      unitRef="usd">-2014438</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTUtMS0xLTEtMA_bd1d62c9-734d-4d62-8784-93b42d68d454"
      unitRef="usd">-1868350</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTUtMy0xLTEtMA_0b7de498-367f-4ce8-a3d5-416ad68a3426"
      unitRef="usd">-706102</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTYtMS0xLTEtMA_7c26d9bf-2154-421d-85db-197be2dcfce4"
      unitRef="usd">-507102</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTYtMy0xLTEtMA_2b059168-d0de-4039-b93a-c0b031ed4c06"
      unitRef="usd">-545256</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <cpix:IncreaseDecreaseInCurrentOperatingLiabilities
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTctMS0xLTEtMA_ecfdf822-336a-4c6f-819a-1696fab9393f"
      unitRef="usd">-1311123</cpix:IncreaseDecreaseInCurrentOperatingLiabilities>
    <cpix:IncreaseDecreaseInCurrentOperatingLiabilities
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTctMy0xLTEtMA_fa9dccda-9af6-4124-b451-d054872905e9"
      unitRef="usd">-2394824</cpix:IncreaseDecreaseInCurrentOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTgtMS0xLTEtMA_65a323e3-b9f3-4e7a-a8a4-0a028e780d62"
      unitRef="usd">-299937</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTgtMy0xLTEtMA_4b3f3c82-40aa-4842-b6f8-42e402fc53b4"
      unitRef="usd">-865109</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTktMS0xLTEtMA_4d6de2aa-9386-40a4-b002-486a94df09ee"
      unitRef="usd">1290139</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMTktMy0xLTEtMA_87d788fc-1b74-4e1d-ae43-f2a3b1e0e67b"
      unitRef="usd">-444331</us-gaap:NetCashProvidedByUsedInOperatingActivitiesContinuingOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjAtMS0xLTEtMA_75af0df2-9df4-4ce1-8a8b-aa7196652d28"
      unitRef="usd">495410</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjAtMy0xLTEtMA_6053790d-0916-4080-a7eb-73081e6ecdb0"
      unitRef="usd">1332870</us-gaap:CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjEtMS0xLTEtMA_45bfa7fa-b178-4a58-8d62-7379cc600294"
      unitRef="usd">1785549</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjEtMy0xLTEtMA_b7b3203a-30a0-43c9-ba47-3178eea1df35"
      unitRef="usd">888539</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjMtMS0xLTEtMA_2f9d4eca-757b-40ac-adf5-cbb8831eb342"
      unitRef="usd">19458</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjMtMy0xLTEtMA_7f29ea41-f4de-4048-8cc9-dae1ce8722c4"
      unitRef="usd">22726</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromLifeInsurancePolicies
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjYtMS0xLTEtMA_6f527164-737f-4121-b025-934d52839698"
      unitRef="usd">-200000</us-gaap:ProceedsFromLifeInsurancePolicies>
    <us-gaap:ProceedsFromLifeInsurancePolicies
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjYtMy0xLTEtMA_2c31d0fe-a568-4ef2-b400-7a0b14ed26e7"
      unitRef="usd">0</us-gaap:ProceedsFromLifeInsurancePolicies>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjgtMS0xLTEtMA_2449fc14-77a6-4a08-9faa-0a4d19677d39"
      unitRef="usd">98883</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjgtMy0xLTEtMA_115b6b43-4970-4ed6-943a-c8bff538159e"
      unitRef="usd">548435</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjktMS0xLTEtMA_ef396d20-fc0b-45db-b129-8bddacf33292"
      unitRef="usd">-318341</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMjktMy0xLTEtMA_2d5e23fd-29a3-48a4-9be1-6e8133033355"
      unitRef="usd">-571161</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzItMS0xLTEtMA_d49c8c49-8a89-4573-a9ad-ee26bf311e73"
      unitRef="usd">15000000</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:ProceedsFromRepaymentsOfLinesOfCredit
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzItMy0xLTEtMA_1fc9bd9f-a5a8-4c8d-9006-4f132ceea3a5"
      unitRef="usd">18500000</us-gaap:ProceedsFromRepaymentsOfLinesOfCredit>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzMtMS0xLTEtMA_d5a77f4c-dd25-4dff-93af-acd36b01b58d"
      unitRef="usd">15000000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:RepaymentsOfNotesPayable
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzMtMy0xLTEtMA_8360529b-da6b-4a23-9ba5-37239fc10dbf"
      unitRef="usd">18500000</us-gaap:RepaymentsOfNotesPayable>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzUtMS0xLTEtMA_ad7de5a4-9ad3-4d6c-92cf-a984bc0e286f"
      unitRef="usd">995277</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzUtMy0xLTEtMA_3325443d-b2b0-47fb-815d-2db6ca25daf6"
      unitRef="usd">260735</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzAtMS0xLTEtNDI4_d2784439-047b-4a41-97cc-72c01005e7a8"
      unitRef="usd">0</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzAtMy0xLTEtNDI4_b65a482b-b337-4ce9-a79e-6cfd3a7b9cf7"
      unitRef="usd">800000</us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzctMS0xLTEtMA_492cefbb-24a6-4530-9af7-5c21e7d7d20f"
      unitRef="usd">302802</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzctMy0xLTEtMA_ee9ac09d-6d48-448f-8d2f-10846d231047"
      unitRef="usd">442544</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzgtMS0xLTEtMA_0cbc351f-cab8-4292-a436-206fc5c9ed91"
      unitRef="usd">-1298079</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzgtMy0xLTEtMA_2bdbd0fb-0663-42ed-b25f-362a9042cde0"
      unitRef="usd">-1503279</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzktMS0xLTEtMA_0f91d6dd-e8ae-4395-b654-13511ab3c7b8"
      unitRef="usd">169129</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfMzktMy0xLTEtMA_8c0a8c15-29a3-4a02-935d-268274bf1cc7"
      unitRef="usd">-1185901</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNDAtMS0xLTEtMA_dc60aede-ca52-4038-bba2-e0f400ee2984"
      unitRef="usd">24753796</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ida5da6da6f1940a89e2ca94214d39333_I20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNDAtMy0xLTEtMA_e29111e4-76fd-4711-b164-40fa5c0233ce"
      unitRef="usd">28212635</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNDEtMS0xLTEtMA_d342e7b7-4740-4d09-8907-d8595c7f4a81"
      unitRef="usd">24922925</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie233d42748ec407f95f541fbd71d46ac_I20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yMi9mcmFnOjEzMjJkYmZlYmIwODQ2YTFhM2ZmYTIwZTZiOGFhMjA3L3RhYmxlOjc0ZTA1MDU4ZGM0YzRkODNhYTRlMTUxZWVlMDhjODYwL3RhYmxlcmFuZ2U6NzRlMDUwNThkYzRjNGQ4M2FhNGUxNTFlZWUwOGM4NjBfNDEtMy0xLTEtMA_63888486-fa78-4fb8-b684-108203907049"
      unitRef="usd">27026734</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id2ffeb106dc64405a2176740c3911624_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfMi0xLTEtMS0w_1e14be1d-c13a-46ae-9024-7e193a17b6eb"
      unitRef="shares">15263555</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="id2ffeb106dc64405a2176740c3911624_I20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfMi0zLTEtMS0w_067a296a-9382-40d4-b110-3074cb793c43"
      unitRef="usd">49914478</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ib06687c2aa5440aa9603d320be455732_I20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfMi01LTEtMS0w_0d54dc08-2851-498c-9b15-63472af9d41c"
      unitRef="usd">1208395</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic61089dc435b40fba685b7b8a3119d6a_I20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfMi03LTEtMS0w_a6cfc10c-3e13-4e6a-8ed0-beb71221a747"
      unitRef="usd">-37620</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ida5da6da6f1940a89e2ca94214d39333_I20191231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfMi05LTEtMS0w_84a4de80-407c-4120-99ba-141ac6392bc4"
      unitRef="usd">51085253</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="if890c44461b6436496221a526f27e535_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfMy0xLTEtMS0w_8e4f8de7-9a16-4c11-ae33-33e1094fd07b"
      unitRef="shares">219850</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="if890c44461b6436496221a526f27e535_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfMy0zLTEtMS0w_85479f12-6052-4d8c-99be-7f24225e0fb4"
      unitRef="usd">264574</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfMy05LTEtMS0w_e321a44f-8ff7-4068-8359-f306243dec02"
      unitRef="usd">264574</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="if890c44461b6436496221a526f27e535_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNC0xLTEtMS0w_5797046c-5cd1-451b-94de-b83ace6c718a"
      unitRef="shares">164866</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="if890c44461b6436496221a526f27e535_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNC0zLTEtMS0w_e771120b-1e43-459e-9b15-d9a1d0d1fe62"
      unitRef="usd">441624</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNC05LTEtMS0w_1e931085-b9e5-4db2-a392-7bd14f47e0a0"
      unitRef="usd">441624</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:ProfitLoss
      contextRef="iadc27382cf1543aeab148380997ffd49_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNS01LTEtMS0w_a93f83f8-1249-4d94-864f-055d9fa8febd"
      unitRef="usd">-1055620</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i932d3a3642fe4eea9f64a3315bad0bf3_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNS03LTEtMS0w_ed0a48b3-0c5b-433e-a1f0-14c69b4de50c"
      unitRef="usd">-9525</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNS05LTEtMS0w_8432aa26-13cd-4e66-9a60-5c51388eb506"
      unitRef="usd">-1065145</us-gaap:ProfitLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ic03d7f9f76264ef5b4cb398729aed58c_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNi0xLTEtMS0w_9446a4c1-ddfe-472e-b436-07fd773dae46"
      unitRef="shares">15318539</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic03d7f9f76264ef5b4cb398729aed58c_I20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNi0zLTEtMS0w_98a75a51-942e-4fc9-8a94-c2bd9dcbcb8e"
      unitRef="usd">49737428</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i42ffa52e2ca34a65970a04537b3b4818_I20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNi01LTEtMS0w_77aa352c-b109-4a8c-a66e-bd875c1bc715"
      unitRef="usd">152775</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i6cbedf5761f7490b8032ca938d802c9f_I20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNi03LTEtMS0w_ba9d34e1-58d0-4279-ab67-4c4efb2813d1"
      unitRef="usd">-47145</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ie233d42748ec407f95f541fbd71d46ac_I20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJiODI2YjA0MzJiMDRjNTE5YTg3NWM0NmZjZmQzYmNmL3RhYmxlcmFuZ2U6YmI4MjZiMDQzMmIwNGM1MTlhODc1YzQ2ZmNmZDNiY2ZfNi05LTEtMS0w_a06b689d-d2d7-4ab6-88b4-ca48035b8122"
      unitRef="usd">49843058</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ic2641b7e1d4f4e36a6431338fd938d84_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfMi0xLTEtMS0w_f41b8b47-179b-49f7-a763-2f3e05117a16"
      unitRef="shares">14988429</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="ic2641b7e1d4f4e36a6431338fd938d84_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfMi0zLTEtMS0w_73507129-8916-4bd0-9f18-58f13f2194f3"
      unitRef="usd">49121523</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i32683bdb8c0e4ba1bd2ad06feb02693a_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfMi01LTEtMS0w_5e3a7a69-114c-4648-85a5-a2160e2d76e8"
      unitRef="usd">-2131013</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i02023e16463a45f891a3eca1a68aa423_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfMi03LTEtMS0w_e3b7dd69-7318-40ee-aca6-946e87104aed"
      unitRef="usd">-117116</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfMi05LTEtMS0w_f28d4529-4a6a-42b7-b4e7-48f1e4c4b113"
      unitRef="usd">46873394</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i0b204f4dda214716a8d2597171f9411e_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfMy0xLTEtMS0w_d59869e4-115a-42ca-bba0-447f0ea2f11d"
      unitRef="shares">187759</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i0b204f4dda214716a8d2597171f9411e_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfMy0zLTEtMS0w_93ad612f-61d1-489b-b6bb-f42aa26cb1c0"
      unitRef="usd">162960</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfMy05LTEtMS0w_5d44cbd0-1232-4325-bc15-684074fa8385"
      unitRef="usd">162960</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i0b204f4dda214716a8d2597171f9411e_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNC0xLTEtMS0w_18d86210-d815-4678-aa61-228b90347dcc"
      unitRef="shares">91724</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i0b204f4dda214716a8d2597171f9411e_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNC0zLTEtMS0w_861478ef-82fe-487f-a81e-3a462ce85c5b"
      unitRef="usd">303088</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNC05LTEtMS0w_fb4a3c68-fa18-4928-90ca-d3385ab8eee5"
      unitRef="usd">303088</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:ProfitLoss
      contextRef="ie6a93a5acaec4b8598b2aebbfadd4119_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNS01LTEtMS0w_602a2215-b12b-48eb-8072-18ba969e181f"
      unitRef="usd">166828</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i832ffbf2902c4a768fc2b9b3becc3924_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNS03LTEtMS0w_52594f89-da13-4557-8ce8-514296b4b2bd"
      unitRef="usd">-22167</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNS05LTEtMS0w_292430f1-5c38-46c7-9105-7e77e9c518fc"
      unitRef="usd">144661</us-gaap:ProfitLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="idd6f054d04374954ad9f0a6ad2ea298c_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNi0xLTEtMS0w_5eb96418-6f3f-40a7-b038-94859a3c2777"
      unitRef="shares">15084464</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="idd6f054d04374954ad9f0a6ad2ea298c_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNi0zLTEtMS0w_f5de3545-fd84-441e-8ce5-24ee4ee39998"
      unitRef="usd">48981395</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i745ba0295e724b4bbd4b33a5ee76d597_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNi01LTEtMS0w_dfbe3db3-c7a7-42c0-8b82-f3e338e4c73e"
      unitRef="usd">-1964185</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="icce24f39974b4ed98da8bfbe93943fbf_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNi03LTEtMS0w_9519dd5c-22b9-463e-a315-e30181a0e2dc"
      unitRef="usd">-139283</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18yNS9mcmFnOjA4OTdkNWEzY2Y0YzRmODM5MjQ5ZWI2OTNkYmFmOWVkL3RhYmxlOmJhYjk5MmQwMmVhNTQ5ZTM5OTkzNmY2ZTE0MmQ0NjQ0L3RhYmxlcmFuZ2U6YmFiOTkyZDAyZWE1NDllMzk5OTM2ZjZlMTQyZDQ2NDRfNi05LTEtMS0w_643fa925-65de-4a20-bbfd-c8a764c34a3d"
      unitRef="usd">46877927</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zMS9mcmFnOjg2MzQzNjEwY2Y1ZDQ0Njk5OGQ2MWU2ZTE1NjE2ODQyL3RleHRyZWdpb246ODYzNDM2MTBjZjVkNDQ2OTk4ZDYxZTZlMTU2MTY4NDJfMTEzNTU_4aef16a5-4f1b-4cfc-8c19-38e0e5ea8a9e">ORGANIZATION AND BASIS OF PRESENTATION&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland Pharmaceuticals Inc. (&#x201c;Cumberland,&#x201d; the &#x201c;Company,&#x201d; or as used in the context of &#x201c;we,&#x201d; &#x201c;us,&#x201d; or &#x201c;our&#x201d;) is a specialty pharmaceutical company focused on the acquisition, development and commercialization of branded prescription products.  The Company's primary target markets are hospital acute care, gastroenterology and rheumatology. These medical specialties are characterized by relatively concentrated prescriber bases that the Company believes can be penetrated effectively by small, targeted sales forces. Cumberland is dedicated to providing innovative products that improve quality of care for patients and address unmet or poorly met medical needs.  The Company promotes its approved products through its hospital and field sales forces in the United States and is establishing a network of international partners to bring its medicines to patients in their countries.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland focuses its resources on maximizing the commercial potential of its products, as well as developing new product candidates, and has both internal development and commercial capabilities. The Company&#x2019;s products are manufactured by third parties, which are overseen by Cumberland&#x2019;s quality control and manufacturing professionals. The Company works closely with its third-party distribution partners to make its products available in the United States.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the opinion of management, the accompanying unaudited condensed consolidated financial statements of the Company have been prepared on a basis consistent with the December 31, 2020, audited consolidated financial statements and include all adjustments, consisting of only normal recurring adjustments, necessary to fairly present the information set forth herein. All significant intercompany accounts and transactions have been eliminated in consolidation. The unaudited condensed consolidated financial statements have been prepared in accordance with the regulations of the Securities and Exchange Commission (the &#x201c;SEC&#x201d;), and certain information and disclosures have been condensed or omitted as permitted by the SEC for interim period presentation. These unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes included in our Annual Report on Form 10-K for the year ended December 31, 2020 (the &#x201c;2020 Annual Report on Form 10-K&#x201d;). The results of operations for the three months ended March 31, 2021, are not necessarily indicative of the results to be expected for the entire fiscal year or any future period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Discontinued Operations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As discussed further in Note 9, during May 2019, Cumberland entered into a Dissolution Agreement  ("Dissolution Agreement") with Clinigen Healthcare Limited ("Clinigen") in which the Company returned the exclusive rights to commercialize Ethyol&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&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; and Totect&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;&#xae;&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; in the United States to Clinigen. Under the terms of the Dissolution Agreement, Cumberland is no longer involved directly or indirectly with the distribution, marketing and promotion of either Ethyol or Totect or any competing products following December 31, 2019. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's exit from Ethyol and Totect meets the accounting criteria to be reported as discontinued operations and the discontinued operating results have been presented in the financial statements and footnotes to reflect the discontinued status of Ethyol and Totect. Refer to Note 9, for additional information.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;Revision of prior period condensed consolidated statement of cash flows presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has made a revision to prior period amounts to conform to the current year presentation of the cash surrender value of life insurance policies over premiums paid on the condensed consolidated statement of cash flows.  The revised amounts were previously included as net changes in assets affecting operating activities.  These revisions have no net effect on the reported net cash provided by operating activities nor any impact on the reported operating results or balance sheet for the 2020 period presented.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:8pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;COVID-19 Pandemic &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2020, the U.S. declared a health care emergency following the outbreak of the SARS-CoV-2, a novel strain of coronavirus that causes COVID-19, a respiratory illness.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland has remained open for business, as the Company is considered to be essential by the United States Department of Homeland Security. The Company has implemented measures to address the impact of the novel coronavirus on the business and taken appropriate action to protect its employees, secure the supply chain, and support the patients who can benefit from its medicines.  All of the Company's employees have been given the opportunity to work remotely, and those that wish to work from Cumberland's office and laboratories are encouraged to practice the behaviors outlined by the Centers for Disease Control.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Throughout the pandemic, Cumberland has faced the same headwinds affecting other companies that rely on hospital admissions and patient visits to drive revenue.  Our business and our clinical studies were impacted as less patients sought elective surgeries and our access to medical facilities was substantially limited.  During 2020, we carefully monitored our supply chain during the pandemic including the flow of raw materials into the plants that manufacture our products as well as the batches of finished product emerging from those facilities. Several of our brands were negatively impacted by the lockdowns and postponement of physician office visits and elective procedures. However, we are fortunate to have a diversified product portfolio, with other brands delivering a strong performance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland relies on third-party organizations around the world to supply components, manufacture and distribute its products. The Company is aware that it may experience revenue loss, supply interruptions, time delays and incur unplanned expenses as a result of the impact of the ongoing COVID-19 pandemic.   The Company continues to monitor the COVID-19 pandemic situation both in the U.S. and internationally in order to maintain its employees&#x2019; safety and well-being, while also keeping its business operating.  Given the uncertainty, magnitude and impact of such changes, the Company is unable to quantify the impact on the future results as of the date of this filing.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Guidance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements - Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued ASU No. 2016-13, &#x201c;Financial Instruments-Credit Losses,&#x201d; which changes the impairment model for most financial assets and certain other instruments. For trade and other receivables, held-to-maturity debt securities, loans and other instruments, companies will be required to use a new forward-looking &#x201c;expected loss&#x201d; model that generally will result in the earlier recognition of allowances for losses. For available-for-sale debt securities with unrealized losses, companies will measure credit losses in a manner similar to what they do today, except that the losses will be recognized as allowances rather than as reductions in the amortized cost of the securities. Companies will have to disclose additional information, including information they use to track credit quality by year of origination for most financing receivables. Companies will apply the ASU&#x2019;s provisions as a cumulative-effect adjustment, if any, to retained earnings as of the beginning of the first reporting period in which the guidance is adopted.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Related to ASU No. 2016-13 discussed above, in May 2019, the FASB issued ASU 2019-05, "Financial Instruments-Credit Losses (Topic 326): Targeted Transition Relief" which provides transition relief for ASU 2016-13 by providing entities with an alternative to irrevocably electing the fair value option for eligible financial assets measured at amortized cost upon adoption of the new credit losses standard. Certain eligibility requirements must be met and the election must be applied on an instrument-by-instrument basis. The election is not available for either available-for-sale or held-to-maturity debt securities. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company will adopt both ASU 2016-13 and ASU 2019-05 on January 1, 2023. The adoption of ASU 2016-13 and ASU 2019-05 are not expected to have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&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;Accounting Policies:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of the condensed consolidated financial statements in conformity with U.S. generally accepted accounting principles requires management of the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the period.  Actual results could differ from those estimates under different assumptions and conditions.  The Company's most significant estimates include: (1) its allowances for chargebacks and accruals for rebates and product returns, (2) the allowances for obsolescent or unmarketable inventory and (3) valuation of a contingent consideration liability associated with a business combination.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Operating Segments&lt;/span&gt;&lt;/div&gt;The Company has one operating segment which is specialty pharmaceutical products. Management has chosen to organize the Company based on the type of products sold. Operating segments are identified as components of an enterprise about which separate discrete financial information is evaluated by the chief operating decision maker, or decision-making group, in making decisions regarding resource allocation and assessing performance. The Company, which uses consolidated financial information in determining how to allocate resources and assess performance, has concluded that our specialty pharmaceutical products compete in similar economic markets and similar circumstances.  Substantially all of the Company&#x2019;s assets are located in the United States and total revenues are primarily attributable to U.S.&#160;customers.</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zMS9mcmFnOjg2MzQzNjEwY2Y1ZDQ0Njk5OGQ2MWU2ZTE1NjE2ODQyL3RleHRyZWdpb246ODYzNDM2MTBjZjVkNDQ2OTk4ZDYxZTZlMTU2MTY4NDJfMTEzNDg_3cf21652-02d0-452b-8c45-2289d712c660">&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Guidance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recent Accounting Pronouncements - Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2016, the Financial Accounting Standards Board ("FASB") issued ASU No. 2016-13, &#x201c;Financial Instruments-Credit Losses,&#x201d; which changes the impairment model for most financial assets and certain other instruments. For trade and other receivables, held-to-maturity debt securities, loans and other instruments, companies will be required to use a new forward-looking &#x201c;expected loss&#x201d; model that generally will result in the earlier recognition of allowances for losses. For available-for-sale debt securities with unrealized losses, companies will measure credit losses in a manner similar to what they do today, except that the losses will be recognized as allowances rather than as reductions in the amortized cost of the securities. Companies will have to disclose additional information, including information they use to track credit quality by year of origination for most financing receivables. Companies will apply the ASU&#x2019;s provisions as a cumulative-effect adjustment, if any, to retained earnings as of the beginning of the first reporting period in which the guidance is adopted.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Related to ASU No. 2016-13 discussed above, in May 2019, the FASB issued ASU 2019-05, "Financial Instruments-Credit Losses (Topic 326): Targeted Transition Relief" which provides transition relief for ASU 2016-13 by providing entities with an alternative to irrevocably electing the fair value option for eligible financial assets measured at amortized cost upon adoption of the new credit losses standard. Certain eligibility requirements must be met and the election must be applied on an instrument-by-instrument basis. The election is not available for either available-for-sale or held-to-maturity debt securities. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company will adopt both ASU 2016-13 and ASU 2019-05 on January 1, 2023. The adoption of ASU 2016-13 and ASU 2019-05 are not expected to have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zMS9mcmFnOjg2MzQzNjEwY2Y1ZDQ0Njk5OGQ2MWU2ZTE1NjE2ODQyL3RleHRyZWdpb246ODYzNDM2MTBjZjVkNDQ2OTk4ZDYxZTZlMTU2MTY4NDJfMTEzNTE_42405416-9360-45bd-a543-4ffa367ff585">&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration:underline"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of the condensed consolidated financial statements in conformity with U.S. generally accepted accounting principles requires management of the Company to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the period.  Actual results could differ from those estimates under different assumptions and conditions.  The Company's most significant estimates include: (1) its allowances for chargebacks and accruals for rebates and product returns, (2) the allowances for obsolescent or unmarketable inventory and (3) valuation of a contingent consideration liability associated with a business combination.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zMS9mcmFnOjg2MzQzNjEwY2Y1ZDQ0Njk5OGQ2MWU2ZTE1NjE2ODQyL3RleHRyZWdpb246ODYzNDM2MTBjZjVkNDQ2OTk4ZDYxZTZlMTU2MTY4NDJfMTEzNTI_328123b6-d2ac-4c53-86de-adb7f799b7ff">Operating SegmentsThe Company has one operating segment which is specialty pharmaceutical products. Management has chosen to organize the Company based on the type of products sold. Operating segments are identified as components of an enterprise about which separate discrete financial information is evaluated by the chief operating decision maker, or decision-making group, in making decisions regarding resource allocation and assessing performance. The Company, which uses consolidated financial information in determining how to allocate resources and assess performance, has concluded that our specialty pharmaceutical products compete in similar economic markets and similar circumstances.  Substantially all of the Company&#x2019;s assets are located in the United States and total revenues are primarily attributable to U.S.&#160;customers.</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zMS9mcmFnOjg2MzQzNjEwY2Y1ZDQ0Njk5OGQ2MWU2ZTE1NjE2ODQyL3RleHRyZWdpb246ODYzNDM2MTBjZjVkNDQ2OTk4ZDYxZTZlMTU2MTY4NDJfMTA1NDU_4ef1d08c-4f08-4e7e-bf66-026ab176416a"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RleHRyZWdpb246ODYyMGYxYTc2NzdjNDgwMDlmMjUxNTFkMWQ2Yjc3ZjdfNDI5_e7cd8ff3-1c8d-47d3-9416-45033d87912b">EARNINGS (LOSS) PER SHARE&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table reconciles the numerator and denominator used to calculate diluted earnings (loss) per share for the three months ended March 31, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:58.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from continuing operations&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(350,749)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,883,418)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discontinued operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;495,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;818,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,661&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,065,145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net (income) loss at subsidiary attributable to noncontrolling 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;22,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) attributable to common shareholders&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,055,620)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares outstanding &#x2013; basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,974,663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,240,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive effect of other 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;337,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares outstanding &#x2013; diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,244,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,578,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:58.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.518%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="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;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;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;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;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;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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:58.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="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;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;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;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March 31, 2021 and 2020, restricted stock awards and options to purchase 215,600 and 431,226 shares of common stock, respectively, were outstanding but were not included in the computation of diluted earnings per share because the effect would be antidilutive.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RleHRyZWdpb246ODYyMGYxYTc2NzdjNDgwMDlmMjUxNTFkMWQ2Yjc3ZjdfNDMx_721c8e87-f8f7-478e-ba64-cf67a9484b64">The following table reconciles the numerator and denominator used to calculate diluted earnings (loss) per share for the three months ended March 31, 2021 and 2020:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:58.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) from continuing operations&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(350,749)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,883,418)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Discontinued operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;495,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;818,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;144,661&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,065,145)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net (income) loss at subsidiary attributable to noncontrolling 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;22,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income (loss) attributable to common shareholders&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;166,828&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,055,620)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares outstanding &#x2013; basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,974,663&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,240,614&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive effect of other 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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;269,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;337,695&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares outstanding &#x2013; diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,244,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,578,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfMy0xLTEtMS0w_f70f9fd6-6381-435a-8bf4-30043e54eac3"
      unitRef="usd">-350749</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfMy0zLTEtMS0w_f5f0e4ac-d631-4ca7-9f9b-aa2516b5b4a1"
      unitRef="usd">-1883418</us-gaap:IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfNC0xLTEtMS0w_5baed91d-594a-4426-a50b-c6ba3234eb82"
      unitRef="usd">495410</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfNC0zLTEtMS0w_1049c477-057b-4f74-b478-8dc4cc4f75de"
      unitRef="usd">818273</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfNS0xLTEtMS0xOTUx_66e368ca-3de1-41f8-90c4-8d0aa6c44aff"
      unitRef="usd">144661</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfNS0zLTEtMS0xOTUx_be41b949-3f19-496e-a724-046fd0e1dc11"
      unitRef="usd">-1065145</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfNS0xLTEtMS0w_c953f20e-2dcc-426e-902a-9cbb34db97e5"
      unitRef="usd">-22167</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfNS0zLTEtMS0w_38c11bb2-890c-477f-b418-e8268b19696b"
      unitRef="usd">-9525</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfNi0xLTEtMS0w_6d3d5965-f6be-4ce1-89a9-20450e17c16e"
      unitRef="usd">166828</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfNi0zLTEtMS0w_640be224-2250-4e6a-9bfa-cd9636bc3f3b"
      unitRef="usd">-1055620</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfOC0xLTEtMS0w_3f443b5e-ab6e-4d21-ba42-06ae5407afc6"
      unitRef="shares">14974663</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfOC0zLTEtMS0w_e275d1b9-295a-472e-8e87-c97786815ebd"
      unitRef="shares">15240614</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfMTAtMS0xLTEtMTk1MQ_dbf829bb-3f65-40c2-844d-8bd917f46e6d"
      unitRef="shares">269483</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfMTAtMy0xLTEtMTk1MQ_5eeb6546-82ba-4fa2-833b-7f078a666e53"
      unitRef="shares">337695</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfMTAtMS0xLTEtMA_ee53aef5-becf-4d4f-b0c3-f2e6dadf5002"
      unitRef="shares">15244146</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RhYmxlOjNlNjYwMzFhN2ZmMjQ1ZjY5NWUwNjY3ZGJjMDFjMzZjL3RhYmxlcmFuZ2U6M2U2NjAzMWE3ZmYyNDVmNjk1ZTA2NjdkYmMwMWMzNmNfMTAtMy0xLTEtMA_5fe8f37d-1e79-4a11-8666-533b5b9701a8"
      unitRef="shares">15578309</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RleHRyZWdpb246ODYyMGYxYTc2NzdjNDgwMDlmMjUxNTFkMWQ2Yjc3ZjdfMjUz_a1cdeaba-2962-430a-ad61-f1939d53453e"
      unitRef="shares">215600</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y18zNy9mcmFnOjg2MjBmMWE3Njc3YzQ4MDA5ZjI1MTUxZDFkNmI3N2Y3L3RleHRyZWdpb246ODYyMGYxYTc2NzdjNDgwMDlmMjUxNTFkMWQ2Yjc3ZjdfMjYw_c1e43dbb-afc7-4a27-8c78-d341f227f30c"
      unitRef="shares">431226</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RleHRyZWdpb246MzViZjAyYzAxYWQ4NDI0ZTlmMTg5MDE1ZjIxMDcxNTJfMjMxNQ_531ca765-c12f-44d3-bfee-cf0433401b85">REVENUES&lt;div style="margin-bottom:6pt;margin-top:6pt"&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;Product Revenues&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for revenues from contracts with customers under ASC 606, which became effective January 1, 2018. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s net revenues consisted of the following for the three months ended March 31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&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:13.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Products:&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Kristalose&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,994,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,311,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vibativ&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,052,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,425,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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Caldolor&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,539,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,096,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acetadote&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Omeclamox-Pak&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(450,263)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vaprisol&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,134,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;RediTrex&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,252)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align: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 revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;459,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net revenues&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;10,537,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330,734&#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="display:none"/&gt;&lt;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:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Omeclamox-Pak revenue for the first quarter of 2021 was the result of Cumberland currently being out of commercial inventory of this product. The packager for our Omeclamox-Pak product encountered financial difficulties due to the impact of COVID-19, and their operations are currently suspended. The Company is awaiting resumption of their operations.  Net revenue for the first quarter of 2021 was also negatively impacted by product returns during the period. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other Revenues&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has agreements with international partners for commercialization of the Company's products with associated payments included in other revenues. Those agreements provide that each of the partners are responsible for seeking regulatory approvals for the product, and following approval, each partner will be responsible for the ongoing distribution and sales in the &lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;respective international territories. The Company provides a dossier for product registration and maintains responsibility for the relevant intellectual property. Cumberland is typically entitled to receive a non-refundable, up-front payment at the time each agreement is executed as consideration for the product dossier and for the rights to the distinct intellectual property rights in the respective international territory. These agreements also typically provide for additional payments upon a partner&#x2019;s achievement of a defined regulatory approval and sales milestones. The Company may also be entitled to receive royalties on future sales of the products and a transfer price on supplies.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The contractual payments associated with the partner&#x2019;s achievement of regulatory approvals, sales milestones and royalties on future sales are recognized as revenue upon occurrence, or at such time that the Company has a high degree of confidence that the revenue would not be reversed in a subsequent period.&lt;/span&gt;Other revenues also include funding from federal grant programs including those secured by CET through the Small Business Administration as well as lease income generated by CET&#x2019;s Life Sciences Center. The Life Sciences Center is a research center that provides scientists with access to flexible lab space and other resources to develop biomedical products. Grant revenue from these programs totaled approximately $0.1&#160;million and $0.2 million for the three months ended March 31, 2021 and 2020</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RleHRyZWdpb246MzViZjAyYzAxYWQ4NDI0ZTlmMTg5MDE1ZjIxMDcxNTJfMjMxOQ_ddb24f23-153b-43b8-a79b-ec2b14985092">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s net revenues consisted of the following for the three months ended March 31, 2021 and 2020:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:69.514%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&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:13.082%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Products:&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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Kristalose&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,994,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,311,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vibativ&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,052,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,425,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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Caldolor&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,539,496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,096,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acetadote&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;117,191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Omeclamox-Pak&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(450,263)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vaprisol&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,134,264&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt 2px 19pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;RediTrex&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32,252)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align: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 revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;182,102&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;459,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total net revenues&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;10,537,159&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,330,734&#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="display:none"/&gt;&lt;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:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i529667d136134653822f8cd1f52ea7d0_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfMy0xLTEtMS0w_4f9e22d7-7790-4d72-9f92-891910ea1689"
      unitRef="usd">2994378</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9c72789317264e7cac1350e71f0ab560_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfMy0zLTEtMS0w_283aca1c-4bcb-46b7-b233-62ad1f976f4d"
      unitRef="usd">3311696</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2cea9b0a3e2640afb98e17b1e3a6f819_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfNC0xLTEtMS0w_2a06980c-11e7-4c25-807e-a646ec4f5147"
      unitRef="usd">5052243</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i590eaf4520974d29b6b01a687d2d13fc_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfNC0zLTEtMS0w_137b905e-a31b-4a8c-aaff-b7a36394894b"
      unitRef="usd">2425755</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id94b2cb8e46b43f8ba1807feeb2a3fe7_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfNS0xLTEtMS0w_1489e0bc-c1fa-4596-a8b4-5aa45f48c15a"
      unitRef="usd">1539496</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i586cba84dc4847daab9569a2b1c1b879_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfNS0zLTEtMS0w_09bec910-2884-48df-9dee-1f102fd6b281"
      unitRef="usd">1096291</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib469a00b1c1e41ebaf007975ede59684_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfNi0xLTEtMS0w_1ccfc71b-01a0-4958-b5be-e5e156816a90"
      unitRef="usd">117191</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifcc02cc49f4b429aa9f1c74f9bc16e6b_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfNi0zLTEtMS0w_14260d12-2681-4842-be7a-1a43afaaa7ec"
      unitRef="usd">713899</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7f27ae48034942de95317f99306eea46_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfNy0xLTEtMS0w_35643522-0185-40e4-ac23-6c555f801d22"
      unitRef="usd">-450263</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i645b158fe75341daa01ca68e5cf1c2b6_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfNy0zLTEtMS0w_ad546a39-1120-45ba-b9b3-c900e540ef08"
      unitRef="usd">114770</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i613693e28d6e4692be7579f7e5ab1d49_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfOC0xLTEtMS0w_f38768bf-9429-40a0-9399-ef544dc186ec"
      unitRef="usd">1134264</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i823406d319024699bfab22321dde04e3_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfOC0zLTEtMS0w_d1d9d1a0-b0ad-401d-b9c2-71860744fd22"
      unitRef="usd">208763</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i39d646b80ea44ec583582f1c79953d87_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfOS0xLTEtMS0yMzc_1c43feba-d345-4931-a1d5-434e09a8a3ad"
      unitRef="usd">-32252</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0edefe7ed797492eae26ff926abd627a_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfOS0zLTEtMS0yNDM_33c0349e-4d77-496f-a9e7-611ef03ab763"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i763bd43cce884a5780a96bbcfb7e0253_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfOS0xLTEtMS0w_196d93e6-6483-4403-a4dd-021e5d240a85"
      unitRef="usd">182102</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i541a71eb9df04c92806ebdb9f1ae4771_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfOS0zLTEtMS0w_053464f4-6eb1-4135-9a95-1c6bb0a88011"
      unitRef="usd">459560</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfMTAtMS0xLTEtMA_2587ed58-584c-4341-b840-199867a6916b"
      unitRef="usd">10537159</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RhYmxlOjIzNDkyY2ExZmI2MDQ4M2I5ZGRjM2M2YjM3M2ZjOGRmL3RhYmxlcmFuZ2U6MjM0OTJjYTFmYjYwNDgzYjlkZGMzYzZiMzczZmM4ZGZfMTAtMy0xLTEtMA_f0ccd5ce-bf17-434a-a19d-12819b3f6ff1"
      unitRef="usd">8330734</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e10e772bb294442900e5d9b697e71e3_D20210101-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RleHRyZWdpb246MzViZjAyYzAxYWQ4NDI0ZTlmMTg5MDE1ZjIxMDcxNTJfMjIxNw_67c261ae-5b53-46b4-a4c4-e43c765d611f"
      unitRef="usd">100000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4068d158ecb7413b92d283e5bce21c80_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180MC9mcmFnOjM1YmYwMmMwMWFkODQyNGU5ZjE4OTAxNWYyMTA3MTUyL3RleHRyZWdpb246MzViZjAyYzAxYWQ4NDI0ZTlmMTg5MDE1ZjIxMDcxNTJfMjIyNA_32b4c045-ee2d-4d33-a29c-bfe494928edb"
      unitRef="usd">200000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMjA2NA_06691972-4218-449e-ab8d-ed0ba94754fb">INVENTORIES&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company works closely with third parties to manufacture and package finished goods for sale.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Based on the arrangements with the manufacturer or packager, the Company will either take title to the finished goods at the time of shipment or at the time of arrival at the Company&#x2019;s warehouses.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company then holds such goods in inventory until distribution and sale. These finished goods inventories are stated at the lower of cost or net realizable value with cost determined using the first-in, first-out method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company continually evaluates inventory for potential losses due to excess, obsolete or slow-moving goods by comparing sales history and projections to the inventory on hand. When evidence indicates that the carrying value may not be recoverable, a charge is taken to reduce the inventory to its current net realizable value.  At March 31, 2021 and December 31, 2020, the Company had recognized and maintained cumulative net realizable value charges for potential obsolescence and discontinuance losses of approximately $0.1 million and $0.2 million, respectively.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the acquisition of certain product rights related to the Kristalose brand, the Company is responsible for the purchase of the active pharmaceutical ingredient (&#x201c;API&#x201d;) for Kristalose and maintains the inventory at third-party packagers. As that API is consumed in production, the value of the API is transferred from raw materials to finished goods.  API for the Company's Vaprisol brand is also included in the raw materials inventory at March 31, 2021 and December 31, 2020.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Consigned inventory represents Authorized Generic inventory stored with Perrigo until shipment.   &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As part of the Vibativ acquisition, Cumberland acquired API and work in process inventories of $15.6 million that were all initially classified as non-current inventories at the date of acquisition.  At March 31, 2021 and December 31, 2020, total non-current inventory, including Vibativ and ifetroban, was $10.4&#160;million and $11.7&#160;million, respectively. The Company had $0.8 million and $2.1 million of Vibativ finished goods included in non-current inventory at March 31, 2021 and December 31, 2020.  The Company also has obtained $0.4&#160;million of finished goods in non-current inventory for API related to its ifetroban clinical initiatives at March 31, 2021 and December 31, 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At March 31, 2021 and December 31, 2020 the Company's net inventories consisted of the following:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.430%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials and work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,763,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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;16,223,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Consigned inventory&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;166,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,005&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,497,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,943,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 inventories&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;20,426,549&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,294,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;less non-current inventories&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,415,786)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,656,742)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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 inventories classified as current&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 #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,010,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,638,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:InventoryValuationReserves
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTA5OTUxMTYzMDQxMA_677e2d5e-685b-44d5-bb32-96ab30e48ee2"
      unitRef="usd">100000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryValuationReserves
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTA5OTUxMTYzMDM3OA_40930b6c-f808-4dad-a527-f76159c587d2"
      unitRef="usd">200000</us-gaap:InventoryValuationReserves>
    <us-gaap:InventoryNoncurrent
      contextRef="ic3f04630c9f547b5be864f1c66564cb8_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTA5OTUxMTYzMTU2Mw_2c09cb6a-00ca-4ba7-9de6-3b7464ac7b2a"
      unitRef="usd">15600000</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryNoncurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTgwOQ_51231c4e-0217-4478-b1b0-13e464c1647f"
      unitRef="usd">10400000</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryNoncurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTgxNg_8821c5f4-f4b2-4164-9e50-de84bd0c461d"
      unitRef="usd">11700000</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryFinishedGoods
      contextRef="i7b759ac132064b2787c2b5a4ad1e70f7_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTg1MA_4c89d1af-2180-4cd7-a0b5-a7199a4c702e"
      unitRef="usd">800000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="ic3f04630c9f547b5be864f1c66564cb8_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTA5OTUxMTYzMTkzMA_c6e0d23d-8fa6-4cb9-b87f-38ea70df9426"
      unitRef="usd">2100000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryNoncurrent
      contextRef="idd43aeaa2b4b4955aef55acce99cd31d_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTA5OTUxMTYzMTY5OA_1ec454d7-ff27-4c45-9b9d-88bf4954c256"
      unitRef="usd">400000</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryNoncurrent
      contextRef="i2a40e1cbac204fb18cf00c3b1f6c81c6_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMTA5OTUxMTYzMTY5OA_c9e8c95f-6bd4-4d75-aecd-5df002058046"
      unitRef="usd">400000</us-gaap:InventoryNoncurrent>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RleHRyZWdpb246MGE0ZTlkYTYwNzM2NGM3MDg4NTJjOThhMjcyZGI5N2JfMjA2NQ_ee443190-2ea3-49fe-bdc0-d7b4f92036d3">he Company's net inventories consisted of the following:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.121%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.430%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.681%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.431%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials and work in process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,763,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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;16,223,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Consigned inventory&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;166,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;128,005&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,497,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,943,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align: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 inventories&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;20,426,549&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,294,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;less non-current inventories&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,415,786)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align: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,656,742)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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 inventories classified as current&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 #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,010,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,638,157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfMi0yLTEtMS0w_bc1d9888-067d-4a18-b25a-9ea028ac4252"
      unitRef="usd">14763418</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfMi00LTEtMS0w_85c4d800-7f65-43a1-80d0-b934b6c57493"
      unitRef="usd">16223162</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfMi00LTEtMS0w_a87595c0-4f9a-49b2-84b8-a42980a4c8ca"
      unitRef="usd">16223162</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfMy0yLTEtMS0w_23a307a0-e150-4c44-ba23-ebeb0e64b9d7"
      unitRef="usd">166052</us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment>
    <us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfMy00LTEtMS0w_8aa43aca-d9fb-47cc-8b59-cccbe7b389a1"
      unitRef="usd">128005</us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment>
    <us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfMy00LTEtMS0w_967e84c7-bb22-469d-bab6-b11559378ac2"
      unitRef="usd">128005</us-gaap:OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNC0yLTEtMS0w_939c49d1-5b92-4fa0-9119-9bf3907d85be"
      unitRef="usd">5497079</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNC00LTEtMS0w_a59fe63e-109a-404f-9734-a219d4f801f6"
      unitRef="usd">5943732</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNC00LTEtMS0w_f7fc6513-7e0d-4e6c-8152-1d7516c5491b"
      unitRef="usd">5943732</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryGross
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNS0yLTEtMS0w_ccee4921-d5da-4291-b27a-e888e092b07c"
      unitRef="usd">20426549</us-gaap:InventoryGross>
    <us-gaap:InventoryGross
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNS00LTEtMS0w_fad0ec44-7b44-4599-ab6c-6d5be1a9770c"
      unitRef="usd">22294899</us-gaap:InventoryGross>
    <us-gaap:InventoryNoncurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNi0yLTEtMS0w_2095f614-e0d1-452d-94dd-bbb7754a376c"
      unitRef="usd">10415786</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryNoncurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNi00LTEtMS0w_f72e202e-8091-4656-8800-9e954337d43b"
      unitRef="usd">11656742</us-gaap:InventoryNoncurrent>
    <us-gaap:InventoryNet
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNy0yLTEtMS0w_df926762-746d-40ec-8d89-12ac3fe76efa"
      unitRef="usd">10010763</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180My9mcmFnOjBhNGU5ZGE2MDczNjRjNzA4ODUyYzk4YTI3MmRiOTdiL3RhYmxlOjc4Njc3ZjEwMjQ4MTRmOGQ4MTlmMDIyZGI0ZjJkNWZmL3RhYmxlcmFuZ2U6Nzg2NzdmMTAyNDgxNGY4ZDgxOWYwMjJkYjRmMmQ1ZmZfNy00LTEtMS0w_c83b058d-6dd9-4816-8fe4-d48e1034fc06"
      unitRef="usd">10638157</us-gaap:InventoryNet>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RleHRyZWdpb246ODQ1MWFmZTA3ZWE0NDVlNzkyYmU4YWI3MDkwNTVmMThfMTc5NQ_d09f9ed8-1806-4483-9564-99742d56c4dd">LEASES&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland&#x2019;s significant operating leases include the lease of approximately 25,500 square feet of office space in Nashville, Tennessee for its corporate headquarters.  This lease currently expires in October 2022.  The operating leases also include the lease of approximately 14,200 square feet of wet laboratory and office space in Nashville, Tennessee by CET, our majority-owned subsidiary, where it operates the CET Life Sciences Center.  This lease currently expires in April 2023. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating lease liabilities are recorded as the present value of remaining lease payments not yet paid for the lease term discounted using the incremental borrowing rate associated with each lease. Operating lease right-of-use assets represent operating lease liabilities adjusted for lease incentives and initial direct costs. As Cumberland&#x2019;s leases do not contain implicit borrowing rates, the incremental borrowing rates were calculated based on information available at January 1, 2019. Incremental borrowing rates reflect the Company&#x2019;s estimated interest rates for collateralized borrowings over similar lease terms.  The weighted-average incremental borrowing rate used to discount the present value of the remaining lease payments is 7.42%. The weighted-average remaining lease term at March 31, 2021 is 1.7 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&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;Lease Position&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At March 31, 2021 and December 31, 2020 , the Company's lease assets and liabilities were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Right-of-Use Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,784,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,028,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Lease Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,042,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,016,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease noncurrent liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;789,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,059,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,831,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,076,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumulative future minimum sublease income under non-cancelable operating subleases totals approximately $0.3 million and will be paid through the leases ending in October 2022 and April 2023. Future minimum lease payments under non-cancelable operating leases (with initial or remaining lease terms in excess of one year) are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:77.554%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Maturity of Lease Liabilities at March 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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;862,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,019,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;After 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,974,473&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(143,199)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,831,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:8pt;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;Rent expense is recognized over the expected term of the lease, including renewal option periods, if applicable, on a straight-line basis as a component of general and administrative expense. Rent expense and sublease income were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:8pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.865%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.458%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.195%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.195%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.157%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rent 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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;227,395&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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;221,201&#160;&lt;/span&gt;&lt;/td&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sublease income&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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;169,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RleHRyZWdpb246ODQ1MWFmZTA3ZWE0NDVlNzkyYmU4YWI3MDkwNTVmMThfMTYzNw_e915ab4e-5f32-4f5a-ac40-e9345a21d4bc"
      unitRef="number">0.0742</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RleHRyZWdpb246ODQ1MWFmZTA3ZWE0NDVlNzkyYmU4YWI3MDkwNTVmMThfMTY5Mg_d672bae0-b99e-4670-acdc-005803a5c8e9">P1Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <cpix:AssetsAndLiabilitiesLesseeTableTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RleHRyZWdpb246ODQ1MWFmZTA3ZWE0NDVlNzkyYmU4YWI3MDkwNTVmMThfMTc5Mw_dc9c2930-f229-45ee-9a8e-f97744a63ee0">&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At March 31, 2021 and December 31, 2020 , the Company's lease assets and liabilities were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Right-of-Use Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,784,142&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,028,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.408%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.299%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Lease Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;March 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,042,074&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,016,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:6pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease noncurrent liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;789,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,059,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,831,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,076,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumulative future minimum sublease income under non-cancelable operating subleases totals approximately $0.3 million and will be paid through the leases ending in October 2022 and April 2023. Future minimum lease payments under non-cancelable operating leases (with initial or remaining lease terms in excess of one year) are as follows:&lt;/span&gt;&lt;/div&gt;</cpix:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjZmNDBiYTgwYTEzYzQ2YzU4NWIwNzI0NjE1YzhhYjkwL3RhYmxlcmFuZ2U6NmY0MGJhODBhMTNjNDZjNTg1YjA3MjQ2MTVjOGFiOTBfMS0yLTEtMS0w_e6f68ee6-031b-45cd-af89-12fb7eb56130"
      unitRef="usd">1784142</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjZmNDBiYTgwYTEzYzQ2YzU4NWIwNzI0NjE1YzhhYjkwL3RhYmxlcmFuZ2U6NmY0MGJhODBhMTNjNDZjNTg1YjA3MjQ2MTVjOGFiOTBfMS00LTEtMS0w_346306d0-56b8-4495-8348-fea13322983d"
      unitRef="usd">2028148</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjVhN2YyOTEyZjYxNTRiMTE4NzhhYzc2ZjcyMTc4YzZhL3RhYmxlcmFuZ2U6NWE3ZjI5MTJmNjE1NGIxMTg3OGFjNzZmNzIxNzhjNmFfMS0yLTEtMS0w_7796e2c6-0558-49f6-995c-98d965dcdafe"
      unitRef="usd">1042074</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjVhN2YyOTEyZjYxNTRiMTE4NzhhYzc2ZjcyMTc4YzZhL3RhYmxlcmFuZ2U6NWE3ZjI5MTJmNjE1NGIxMTg3OGFjNzZmNzIxNzhjNmFfMS00LTEtMS0w_e6e03b8c-00a9-465e-a8cc-7636f7c1e225"
      unitRef="usd">1016779</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjVhN2YyOTEyZjYxNTRiMTE4NzhhYzc2ZjcyMTc4YzZhL3RhYmxlcmFuZ2U6NWE3ZjI5MTJmNjE1NGIxMTg3OGFjNzZmNzIxNzhjNmFfMy0yLTEtMS0w_cb40b9a6-bb5e-42c8-86cd-e07142a6e99b"
      unitRef="usd">789200</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjVhN2YyOTEyZjYxNTRiMTE4NzhhYzc2ZjcyMTc4YzZhL3RhYmxlcmFuZ2U6NWE3ZjI5MTJmNjE1NGIxMTg3OGFjNzZmNzIxNzhjNmFfMy00LTEtMS0w_d873dae5-ad4b-4d11-81a2-3767e5c9cf95"
      unitRef="usd">1059693</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <cpix:LeaseLiability
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjVhN2YyOTEyZjYxNTRiMTE4NzhhYzc2ZjcyMTc4YzZhL3RhYmxlcmFuZ2U6NWE3ZjI5MTJmNjE1NGIxMTg3OGFjNzZmNzIxNzhjNmFfNC0yLTEtMS0w_1e794a74-5be4-455d-b3ea-234d806b10a5"
      unitRef="usd">1831274</cpix:LeaseLiability>
    <cpix:LeaseLiability
      contextRef="i32068be194474f9cb55326666a7fbec0_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjVhN2YyOTEyZjYxNTRiMTE4NzhhYzc2ZjcyMTc4YzZhL3RhYmxlcmFuZ2U6NWE3ZjI5MTJmNjE1NGIxMTg3OGFjNzZmNzIxNzhjNmFfNC00LTEtMS0w_a0526f03-1e5d-4f95-b195-eb343d99d1bc"
      unitRef="usd">2076472</cpix:LeaseLiability>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RleHRyZWdpb246ODQ1MWFmZTA3ZWE0NDVlNzkyYmU4YWI3MDkwNTVmMThfMTA5OTUxMTYzMzc1MQ_bf4a69fe-adc0-472d-a99b-d1346935014e"
      unitRef="usd">300000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueFutureMinimumSubleaseRentals>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RleHRyZWdpb246ODQ1MWFmZTA3ZWE0NDVlNzkyYmU4YWI3MDkwNTVmMThfMTc5NA_a3a9443f-2902-467d-bf1f-15cbaba4cbff">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:77.554%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.700%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Maturity of Lease Liabilities at March 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&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;862,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,019,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,478&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;After 2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&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 #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,974,473&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(143,199)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,831,274&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOmJkNGM5ZTRkZTJmMzQyNmU4NzBhYmIxZjEzMjhkZWU0L3RhYmxlcmFuZ2U6YmQ0YzllNGRlMmYzNDI2ZTg3MGFiYjFmMTMyOGRlZTRfMi0yLTEtMS0w_6112cac3-5152-4b8b-971d-963e6487e264"
      unitRef="usd">862682</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOmJkNGM5ZTRkZTJmMzQyNmU4NzBhYmIxZjEzMjhkZWU0L3RhYmxlcmFuZ2U6YmQ0YzllNGRlMmYzNDI2ZTg3MGFiYjFmMTMyOGRlZTRfMy0yLTEtMS0w_654fe661-2ba2-4bcb-ae13-5183fba137a2"
      unitRef="usd">1019313</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOmJkNGM5ZTRkZTJmMzQyNmU4NzBhYmIxZjEzMjhkZWU0L3RhYmxlcmFuZ2U6YmQ0YzllNGRlMmYzNDI2ZTg3MGFiYjFmMTMyOGRlZTRfNC0yLTEtMS0w_6067b3e2-5871-4f1d-b4e5-6c48f93033b7"
      unitRef="usd">92478</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <cpix:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOmJkNGM5ZTRkZTJmMzQyNmU4NzBhYmIxZjEzMjhkZWU0L3RhYmxlcmFuZ2U6YmQ0YzllNGRlMmYzNDI2ZTg3MGFiYjFmMTMyOGRlZTRfNS0yLTEtMS0w_e8a7d313-5647-4c30-a90e-4e72978e42df"
      unitRef="usd">0</cpix:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOmJkNGM5ZTRkZTJmMzQyNmU4NzBhYmIxZjEzMjhkZWU0L3RhYmxlcmFuZ2U6YmQ0YzllNGRlMmYzNDI2ZTg3MGFiYjFmMTMyOGRlZTRfNi0yLTEtMS0w_609590d1-760c-4d8a-b40d-f4c977538481"
      unitRef="usd">1974473</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOmJkNGM5ZTRkZTJmMzQyNmU4NzBhYmIxZjEzMjhkZWU0L3RhYmxlcmFuZ2U6YmQ0YzllNGRlMmYzNDI2ZTg3MGFiYjFmMTMyOGRlZTRfNy0yLTEtMS0w_7ca8c2c4-c39a-4615-86bb-3d5efc421387"
      unitRef="usd">143199</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOmJkNGM5ZTRkZTJmMzQyNmU4NzBhYmIxZjEzMjhkZWU0L3RhYmxlcmFuZ2U6YmQ0YzllNGRlMmYzNDI2ZTg3MGFiYjFmMTMyOGRlZTRfOC0yLTEtMS0w_e0b22d5e-f84b-4b28-ad82-2e1fd117f288"
      unitRef="usd">1831274</us-gaap:OperatingLeaseLiability>
    <cpix:ScheduleofRentExpenseandSubleaseIncomeTableTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RleHRyZWdpb246ODQ1MWFmZTA3ZWE0NDVlNzkyYmU4YWI3MDkwNTVmMThfMjE5OTAyMzI2MzI5Ng_ad879b04-7d11-4bba-8c5b-912b5061015a">Rent expense and sublease income were as follows:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:62.865%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.458%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.195%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.295%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.195%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.157%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Three months ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Rent 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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;227,395&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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;221,201&#160;&lt;/span&gt;&lt;/td&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="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sublease income&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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size: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;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;169,631&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</cpix:ScheduleofRentExpenseandSubleaseIncomeTableTextBlock>
    <us-gaap:LeaseAndRentalExpense
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjk3ZTYwNmM4MDdkMjQ0MDc5OGVmZTA0ZmY2Nzc3Y2UzL3RhYmxlcmFuZ2U6OTdlNjA2YzgwN2QyNDQwNzk4ZWZlMDRmZjY3NzdjZTNfMi0yLTEtMS0xODc2_629be420-54c9-4e46-88a9-c23bff3cc15b"
      unitRef="usd">227395</us-gaap:LeaseAndRentalExpense>
    <us-gaap:LeaseAndRentalExpense
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjk3ZTYwNmM4MDdkMjQ0MDc5OGVmZTA0ZmY2Nzc3Y2UzL3RhYmxlcmFuZ2U6OTdlNjA2YzgwN2QyNDQwNzk4ZWZlMDRmZjY3NzdjZTNfMi00LTEtMS0xODc2_7417dd93-7709-4b51-b477-6aa81b834aba"
      unitRef="usd">221201</us-gaap:LeaseAndRentalExpense>
    <us-gaap:OperatingLeasesRentExpenseSubleaseRentals1
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjk3ZTYwNmM4MDdkMjQ0MDc5OGVmZTA0ZmY2Nzc3Y2UzL3RhYmxlcmFuZ2U6OTdlNjA2YzgwN2QyNDQwNzk4ZWZlMDRmZjY3NzdjZTNfNC0yLTEtMS0xODc2_faa2206f-266f-488e-9e06-900760f7c27e"
      unitRef="usd">178029</us-gaap:OperatingLeasesRentExpenseSubleaseRentals1>
    <us-gaap:OperatingLeasesRentExpenseSubleaseRentals1
      contextRef="iab034ee5f7a24d37956b0daf2324f335_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180Ni9mcmFnOjg0NTFhZmUwN2VhNDQ1ZTc5MmJlOGFiNzA5MDU1ZjE4L3RhYmxlOjk3ZTYwNmM4MDdkMjQ0MDc5OGVmZTA0ZmY2Nzc3Y2UzL3RhYmxlcmFuZ2U6OTdlNjA2YzgwN2QyNDQwNzk4ZWZlMDRmZjY3NzdjZTNfNC00LTEtMS0xODc2_e1b6492d-b493-43d3-9ddc-2cfd7be2d683"
      unitRef="usd">169631</us-gaap:OperatingLeasesRentExpenseSubleaseRentals1>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfODc1OA_7d886101-b487-40a8-aeae-d3878c94361e">SHAREHOLDERS&#x2019; EQUITY AND DEBT&lt;div style="margin-bottom:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Share repurchases&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland currently has a share repurchase program to repurchase up to $10 million of its common stock pursuant to Rule 10b-18 of the Securities Exchange Act of 1934. In January 2019, the Company's Board of Directors established the current $10 million repurchase program to replace the prior authorizations.  During the three months ended March 31, 2021 and March 31, 2020, the Company repurchased 91,724 shares and 164,866 shares, respectively, of common stock for approximately $0.3 million and $0.4 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Share purchases and sales&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the Company's March 2021 trading window, several members of Cumberland's Board of Directors entered into share purchase agreements of the Company's stock pursuant to Rule 10b-18 of the Securities Exchange Act of 1934. These purchases are designed to increase ownership in the Company by the members of the Board.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Share Sales&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2017, Cumberland filed a Shelf Registration on Form S-3 with the SEC associated with the sale of up to $100 million in corporate securities. The Shelf Registration was declared effective in January 2018. It also included an At the Market ("ATM") feature that allows the Company to sell common shares at market prices, along with an agreement with B. Riley FBR Inc. to support such a placement of shares. The Company filed an updated Form S-3 with the SEC in December 2020, which was declared effective in January 2021. The Company does not currently have an ATM feature in place.  Cumberland plans to continue to evaluate the market for its common shares, and if favorable, will further evaluate whether or not to enter into an ATM feature through B. Riley FBR, Inc. that would allow the Company to issue shares of its common stock.  The Company did not issue any shares under an ATM during the three months ended March 31, 2021 or March 31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Restricted Share Grants and Incentive Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the three months ended March 31, 2021 and March 31, 2020, the Company issued 35,850 shares and 229,141 shares of restricted stock to employees and directors, respectively. Restricted stock issued to employees generally cliff-vests on the fourth anniversary of the date of grant and for directors on the one-year anniversary of the date of grant.  During the three months ended March 31, 2021, the Company also issued 172,350 incentive stock options to employees that cliff-vest on the fourth anniversary of the date of grant, that are set to expire in March 2031. Stock compensation expense is presented as a component of general and administrative expense in the condensed consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Debt Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On October 7, 2020, the Company entered into a Third Amendment to the Revolving Credit Note and Fourth Amendment (&#x201c;Fourth Amendment&#x201d;) to the Revolving Credit Loan Agreement with Pinnacle Bank (the &#x201c;Pinnacle Agreement&#x201d;). The original Pinnacle Agreement was dated July 2017. The Fourth Amendment provides for a principal available for borrowing of up to $15&#160;million and Cumberland has the ability to request an increase of up to an additional $5&#160;million, upon the satisfaction of certain conditions and approval by Pinnacle Bank. If fully expanded, the Fourth Amendment would provide a maximum principal available for borrowing of up to $20&#160;million.  The Fourth Amendment extended the maturity date of the Pinnacle Agreement through October 1, 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May 10, 2019, the Company entered into a third amendment ("Third Amendment") to the Pinnacle Agreement, which extended the term of the Pinnacle Agreement through July 31, 2021 as well as modified certain definitions and terms of the existing financial covenants, including the definition of the Funded Debt Ratio and the compliance target of the Tangible Capital Ratio. Both Third Amendment modifications were related to the Vibativ transaction.  Under the Pinnacle Agreement, Cumberland was initially subject to one financial covenant, the maintenance of a Funded Debt Ratio, as such term is defined in the agreement and determined on a quarterly basis.  On August 14, 2018, the Company amended the Pinnacle Agreement ("First Amendment") to replace the single financial covenant with the maintenance of either the Funded Debt Ratio or a Tangible Capital Ratio, as defined in the First Amendment.  The Company was in compliance with the Tangible Capital Ratio financial covenant as of March 31, 2021.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of March 31, 2021 and December 31, 2020, the Company had $15.0 million in borrowings outstanding under its revolving credit facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The interest rate on the Pinnacle Agreement is based on LIBOR plus an interest rate spread. The pricing under the Fourth Amendment provides for an interest rate spread of 1.75% to 2.75% above LIBOR with a minimum LIBOR of 0.90%. The &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;applicable interest rate under the Pinnacle Agreement was 3.65% at March 31, 2021.  In addition, a fee of 0.25% per year is charged on the unused line of credit.  Interest and the unused line fee are payable quarterly.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the line of credit are collateralized by substantially all of our assets. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Paycheck Protection Program Loan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 20, 2020, Cumberland received the funding of a loan from Pinnacle Bank in the amount of $2,187,140 pursuant to the Paycheck Protection Program (the &#x201c;PPP&#x201d;) under the Federal Coronavirus Aid, Relief, and Economic Security Act ("CARES Act"), which was enacted March 27, 2020. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The PPP is administered by the U.S. Small Business Administration ("SBA").&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The loan matures April 14, 2022, and bears interest at a rate of 1.0% per year, payable monthly. The loan may be prepaid at any time prior to maturity with no prepayment penalties. Funds from the loan are to be used to maintain payroll, continue group health care benefits and pay for rent and utilities. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the terms of the PPP, certain amounts of the loan may be forgiven if they are used for qualifying expenses as described in the CARES Act, including qualifying payroll costs, covered rent payments, and covered utilities.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From the date of funding the Company used the loan amount for such qualifying expenses. Cumberland has elected to account for the proceeds of the loan as a government grant under &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;International Accounting Standard 20 ("IAS 20"), Accounting for Government Grants and Disclosure of Government Assistance. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The permitted analogous use of  IAS 20 outlines a model for the accounting for government assistance, including forgivable loans. As a result, the Company has recorded the $2,187,140 as a deferred income liability, which is included as a component of other current liabilities on the condensed consolidated balance sheet. The Company intends to apply IAS 20 to the PPP loan forgiveness and has presented the amounts expected to be forgiven as deferred income. The Company will account for the anticipated forgiveness of the PPP loan under IAS 20 when the Company believes that the forgiveness is reasonably assured.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;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;Cumberland applied for this loan after carefully considering, with its bank, the eligibility criteria to participate in this program, and determining that Cumberland met these criteria. The Company evaluated and provided information on our payroll and other qualifying expenses to determine the amount of PPP funds to apply for. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland has not laid off or furloughed any employees as a result of the COVID-19 pandemic and, based on assistance from the PPP loan, the Company currently does not foresee doing so. In October 2020, the Company submitted a request for forgiveness of the PPP loan. The request was approved by the lender, Pinnacle Bank, who then submitted it to SBA for the SBA's review and approval. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Joint Venture Agreement&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2020, Cumberland entered into an agreement with WinHealth Investment (Singapore) Ltd creating &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;WHC Biopharmaceuticals, Pte. Ltd&lt;/span&gt;. The joint venture, as a limited liability company, will focus on acquiring, developing, registering, and commercializing development stage and commercial stage biopharmaceuticals for China, Hong Kong and other Asian markets.  The agreement provides for initial investment from WinHealth in the form of a $0.2&#160;million equity contribution and an initial investment from Cumberland in the form of a $0.2&#160;million convertible note, which was funded during the three months ended March 31, 2021. The joint venture will seek additional future capital from additional investors and has entered into exclusive option agreements to license intellectual property from both Cumberland Pharmaceuticals Inc. and Cumberland Emerging Technologies.</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i61c481ad9f504703a94e6b9be6f518e2_I20100513"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMTI5_c065d962-6435-49dd-b733-391b75d55d14"
      unitRef="usd">10000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="i26d732474c194cee89c889d4f8a693f2_I20160131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMjkw_0609ea63-cc0d-40f2-b426-71973ef27594"
      unitRef="usd">10000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="i0b204f4dda214716a8d2597171f9411e_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMzk2_3121ab33-242d-4e89-9533-2a943cc49d36"
      unitRef="shares">91724</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="if890c44461b6436496221a526f27e535_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfNDEw_4818f994-42e5-4323-b58a-b1344d6640ac"
      unitRef="shares">164866</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="i0b204f4dda214716a8d2597171f9411e_D20210101-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfNDYy_b9ab3b16-3f03-46f7-9b09-b75ec9fb1f94"
      unitRef="usd">300000</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="if890c44461b6436496221a526f27e535_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfNDY5_aaabfdb9-7ed0-4982-a138-956f692af312"
      unitRef="usd">400000</us-gaap:StockRepurchasedDuringPeriodValue>
    <cpix:StockIssuedDuringPeriodShelfRegistrationProceedsFromSaleofCorporateSecurities
      contextRef="i08b1da814e684be58d651fa09524635d_D20171101-20171130"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMTAyMA_ef72c331-40e2-496f-a5f0-7e550f120e71"
      unitRef="usd">100000000</cpix:StockIssuedDuringPeriodShelfRegistrationProceedsFromSaleofCorporateSecurities>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ib2eda2a4dac14ec3b727863dc09461ee_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMTM0Nw_979147cd-c164-405c-a64c-f85b27765e78"
      unitRef="shares">35850</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i176b3b536b2f4266bb9351936fafc0a5_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMTM2MQ_1c152c8d-cb78-4018-8894-6c4217394e4c"
      unitRef="shares">229141</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="id97ac84efc164cb38bbe53650262439c_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfODc1OQ_f28f25aa-45bc-4aef-90f1-3cf89ad73a42">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i8efd5212c2ea4438a3c6b998c82af06a_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMTA5OTUxMTY0MDY1OA_b4895bf2-86f5-4497-a965-d1953e897219"
      unitRef="shares">172350</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i2ddf705ec76d45ce90dcfd34b198b915_I20201007"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMzA1MA_371218c4-a9ec-4af5-b6eb-9243001541d4"
      unitRef="usd">15000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <cpix:LineOfCreditFacilityMaximumBorrowingCapacityIncreaseAmount
      contextRef="i2ddf705ec76d45ce90dcfd34b198b915_I20201007"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMzEzMA_7eac9586-968b-4673-b2a0-2bb9a1009ac7"
      unitRef="usd">5000000</cpix:LineOfCreditFacilityMaximumBorrowingCapacityIncreaseAmount>
    <cpix:LineOfCreditFacilityMaximumBorrowingCapacityTotalCapacity
      contextRef="i2ddf705ec76d45ce90dcfd34b198b915_I20201007"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMzMxNg_cece4d77-73c3-4c85-b529-33d4e1354c29"
      unitRef="usd">20000000</cpix:LineOfCreditFacilityMaximumBorrowingCapacityTotalCapacity>
    <us-gaap:LongTermLineOfCredit
      contextRef="i49d1ed31c7894e6b987d5f1b88ea735e_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMTY0OTI2NzQ1NDE4NQ_d4cd0515-31b4-40cd-a7d1-67a4f7fd4e6f"
      unitRef="usd">15000000.0</us-gaap:LongTermLineOfCredit>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ida4acda1a0824ddd98ba37f7456c0970_D20200814-20200814"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfNDcxNQ_94e809ef-5b13-4d2e-a723-e8c683af882f"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic626a31ddbca438a89b05457be379d25_D20200814-20200814"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfNDcyMQ_55a56c22-9b60-4d3a-9ef8-2fe767659029"
      unitRef="number">0.0275</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ic599c92ccd35431db3b06f4238341683_D20200814-20200814"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfNDc2MA_d8f1b1f8-ebdb-4b6a-917f-ec593ce45035"
      unitRef="number">0.0090</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="ib53bd71fe3994d2da24c5195efd6412c_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfNDgyNg_b101fae1-de75-4714-8fab-9481b667b575"
      unitRef="number">0.0365</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="i6ccab55d30cd4f3595d41c3c3554b52a_D20210101-20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfNDkwNA_6570a942-19d7-4e20-b197-e2d460227dd2"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <cpix:TheCoronavirusAidReliefAndEconomicSecurityActLoanProceedsReceived
      contextRef="i830bb87cb40044cd957e698b46665fd6_D20200420-20200420"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMjE5OTAyMzI3MDcxOA_080d6827-3cd9-4018-a485-0bd79a10ad60"
      unitRef="usd">2187140</cpix:TheCoronavirusAidReliefAndEconomicSecurityActLoanProceedsReceived>
    <cpix:TheCoronavirusAidReliefAndEconomicSecurityActLoanProceedsReceived
      contextRef="i830bb87cb40044cd957e698b46665fd6_D20200420-20200420"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfMjE5OTAyMzI3MDczMA_bab7b89a-074b-4e7e-aa67-eae443ddce05"
      unitRef="usd">2187140</cpix:TheCoronavirusAidReliefAndEconomicSecurityActLoanProceedsReceived>
    <us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures
      contextRef="i59247f7dd59d4f28aee9f37d45d509aa_I20200831"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfODQxMw_b9867a34-f31f-4153-a572-2243df76f2df"
      unitRef="usd">200000</us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="icd3a639d6f35423aa3c2f6243856ec35_I20200831"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y180OS9mcmFnOjFiZjM3NmZlNDZiYjQ0YWU5MWYyOTE1NTdmMjJkN2ZlL3RleHRyZWdpb246MWJmMzc2ZmU0NmJiNDRhZTkxZjI5MTU1N2YyMmQ3ZmVfODQ5Mw_49c01eb0-8816-465c-90dc-a669f9bc68cd"
      unitRef="usd">200000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181Mi9mcmFnOmFiNjUxMzUzMDg4YzQzMGJiZGVjYjIxMWZhNTUwYzNlL3RleHRyZWdpb246YWI2NTEzNTMwODhjNDMwYmJkZWNiMjExZmE1NTBjM2VfNjM3_ed75dd45-bcd4-452e-aeb5-ac5a5cdc983c">INCOME TAXESAs of March 31, 2021, the Company has approximately $56.3 million in federal net operating loss carryforwards including approximately $44.1 million of net operating loss carryforwards resulting from the exercise of nonqualified stock options. These have historically been used to significantly offset income tax obligations. The Company expects it will continue to pay minimal income taxes during 2021 and beyond, through the continued utilization of these net operating loss carryforwards, on any taxable income generated from our operations. The Company does not allocate any portion of its income tax expense (benefit) to discontinued operations.</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i6c5f356638654bbdaf6b452874ae5eaf_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181Mi9mcmFnOmFiNjUxMzUzMDg4YzQzMGJiZGVjYjIxMWZhNTUwYzNlL3RleHRyZWdpb246YWI2NTEzNTMwODhjNDMwYmJkZWNiMjExZmE1NTBjM2VfNjI_002b9e52-978e-487b-b385-95187ed79e72"
      unitRef="usd">56300000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i9bbc43ed7e524a6ca314bad9dab13ba6_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181Mi9mcmFnOmFiNjUxMzUzMDg4YzQzMGJiZGVjYjIxMWZhNTUwYzNlL3RleHRyZWdpb246YWI2NTEzNTMwODhjNDMwYmJkZWNiMjExZmE1NTBjM2VfMTMz_79481232-7084-4e8f-ba3c-b3c038e6a920"
      unitRef="usd">44100000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:CollaborativeArrangementDisclosureTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181NS9mcmFnOjIwMDMzYzU1NmQ2OTQ0MDI5NjQ5NWY2YmU4ZGY2ZTdhL3RleHRyZWdpb246MjAwMzNjNTU2ZDY5NDQwMjk2NDk1ZjZiZThkZjZlN2FfMTAxNw_5ae479a9-2d2a-4efa-aa7a-8e658499b256">COLLABORATIVE AGREEMENTS&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland is a party to several collaborative arrangements with research institutions to identify and pursue promising pharmaceutical product candidates. The funding for these programs is primarily provided through Federal Small Business Administration (SBIR/STTR) and other grant awards. The Company has determined that these collaborative agreements, with the exception of the collaborative payment received related to RediTrex, do not meet the criteria for accounting under ASC Topic 808, &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;Collaborative Agreements&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The agreements do not specifically designate each party&#x2019;s rights and obligations to each &lt;/span&gt;other under the collaborative arrangements. Except for patent defense costs, expenses incurred by one party are not required to be reimbursed by the other party.  Expenses incurred under these collaborative agreements are included in research and development expenses and funding received from grants are recorded as net revenues in the condensed consolidated statements of operations.</us-gaap:CollaborativeArrangementDisclosureTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfNjcwMg_828df905-5a6b-466d-9b7b-26cade9a939e">ADDITIONS AND RETURN OF PRODUCT RIGHTS&lt;div style="margin-top:7pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Vibativ&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During November 2018, the Company closed on an agreement with Theravance Biopharma ("Theravance") to acquire the global responsibility for Vibativ including the marketing, distribution, manufacturing and regulatory activities associated with the brand.  Vibativ is a patented, Food and Drug Administration ("FDA") approved injectable anti-infective for the treatment of certain serious bacterial infections including hospital-acquired and ventilator-associated bacterial pneumonia and complicated skin and skin structure infections. It addresses a range of Gram-positive bacterial pathogens, including those that are considered difficult-to-treat and multidrug-resistant.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;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;Cumberland has accounted for the transaction as a business combination in accordance with ASC 805 and the product sales are included in the results of operations subsequent to the acquisition date. The Company made an upfront payment of $20.0&#160;million at the closing of the transaction and a $5.0&#160;million milestone payment in early April 2019. In addition, Cumberland has agreed to pay a royalty of up to 20% on future net sales of the product.  The future royalty payments were required to be recognized at their acquisition-date fair value as a contingent consideration liability, as part of the contingent consideration transferred in the business combination. Cumberland prepared the valuations of the contingent consideration liability utilizing significant unobservable inputs.  As a result, the valuation is classified as Level 3 fair value measurement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the changes in the fair value of the contingent consideration liability that is remeasured on a recurring basis.  The contingent consideration earned and accrued in operating expenses is paid to Theravance quarterly.&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:76.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.977%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;8,200,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;Cash payment of royalty during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(995,277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Change in fair value of contingent consideration included in operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(280,020)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Contingent consideration earned and accrued in operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;410,790&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,336,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:5pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The contingent consideration liability of $7.3&#160;million was classified as other current liabilities of $2.7&#160;million and other long-term liabilities of $4.6&#160;million on the condensed consolidated balance sheet as of March 31, 2021.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt"&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;RediTrex&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2016, the Company announced an agreement with the Nordic Group B.V. ("Nordic") to acquire the exclusive U.S. rights to Nordic&#x2019;s injectable methotrexate product line designed for the treatment of active rheumatoid arthritis, juvenile idiopathic arthritis, severe psoriatic arthritis, and severe disabling psoriasis. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As consideration for the license Cumberland paid a deposit of $100,000 at closing.  The Company provided $0.9&#160;million in consideration through a grant of 180,000 restricted shares of Cumberland common stock to be vested upon the FDA approval of the first Nordic product. Cumberland also agreed to provide Nordic a series of payments tied to the products&#x2019; FDA approval, launch and achievement of certain sales milestones. Under the terms of the agreement, Cumberland is responsible for the product registration and commercialization in the U.S. Nordic is responsible for product manufacturing and supply.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On November 27, 2019, Cumberland received FDA approval for the first Nordic injectable product and authorization to market them under the RediTrex brand name.  The 180,000 shares of restricted Cumberland common stock previously provided to Nordic vested upon approval and were valued at $0.9&#160;million on the vesting date. The FDA approval also resulted in a $1.0&#160;million milestone payment due to Nordic.  During December 2020, Cumberland launched RediTrex and the launch also resulted in a $1.0&#160;million milestone payment due to Nordic.  This milestone payment will be paid during 2021 and was recorded as an other current liability at December 31, 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cumberland has approximately $2.8&#160;million in net intangible assets related to RediTrex at March 31, 2021.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Ethyol and Totect &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2016, Cumberland entered into an agreement with Clinigen for the rights and responsibilities associated with the commercialization of Ethyol in the United States.  In 2017, the Company entered into another agreement with Clinigen for the rights and responsibilities associated with the commercialization of Totect in the United States.  &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;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;Early in 2019, Cumberland announced a strategic review of the Company's brands, capabilities, and international partners. This review followed an accelerated business development initiative, which resulted in a series of transactions. &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;During May 2019, Cumberland entered into the Dissolution Agreement with Clinigen in which the Company returned the exclusive rights to commercialize Ethyol and Totect&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;in the United States to Clinigen. Under the final terms of the Dissolution Agreement, Cumberland was no longer responsible for the distribution, marketing and promotion of either Ethyol or Totect or any competing products after December 31, 2019.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;  &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In exchange for the return of these product license rights and the non-compete provisions of the Dissolution Agreement, Cumberland is receiving $5&#160;million in financial consideration paid in quarterly installments over the two-years following the transition date. Cumberland recorded the first four quarterly installments totaling $3.0 million during 2020 and the fifth installment of $0.5&#160;million during the three months ended March 31, 2021 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;as discontinued operations.  The Company will record the remaining quarterly installments during the balance of 2021.&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The exit from Ethyol and Totect meets the accounting criteria to be reported as discontinued operations. December 31, 2019, as the transition date, was the final day Cumberland was responsible for the products. Cumberland was responsible for the products through December 31, 2019 and beginning on January 1, 2020, the products' rights transitioned back to Clinigen. As a result, January 1, 2020, was the first day of discontinued operations for the Ethyol and Totect products.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The dissolution payments from Clinigen are reflected as revenue from discontinued operations.  The Company does not &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;incur expenses associated with these payments from Clinigen. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.859%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&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:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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;495,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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;818,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs of products sold&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, Marketing and 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from discontinued operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;495,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;818,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ic4690540184b48fa90ef75b783a03efb_D20181101-20181130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMTIxNw_18d0523f-a5a2-45d5-93f0-51ea64af8fed"
      unitRef="usd">20000000.0</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:OtherPaymentsToAcquireBusinesses
      contextRef="ic4690540184b48fa90ef75b783a03efb_D20181101-20181130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMTI2MA_acf1025b-dc17-47da-828e-da879569a80a"
      unitRef="usd">5000000.0</us-gaap:OtherPaymentsToAcquireBusinesses>
    <cpix:TieredRoyaltyPaymentsPercentage
      contextRef="ic4690540184b48fa90ef75b783a03efb_D20181101-20181130"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMTM2Mw_15dc1128-6a55-44e2-b58c-806b29aaad9c"
      unitRef="number">0.20</cpix:TieredRoyaltyPaymentsPercentage>
    <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfNjcwMQ_b3610ea9-fee2-4a89-8a75-411a9042d3a3">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents the changes in the fair value of the contingent consideration liability that is remeasured on a recurring basis.  The contingent consideration earned and accrued in operating expenses is paid to Theravance quarterly.&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:76.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.977%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December 31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',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;8,200,552&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;Cash payment of royalty during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(995,277)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Change in fair value of contingent consideration included in operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(280,020)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;Contingent consideration earned and accrued in operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;410,790&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align: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;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at March 31, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,336,045&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:5pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionContingentConsiderationTextBlock>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="ic3f04630c9f547b5be864f1c66564cb8_I20201231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjNhMWZhZWJmM2QxNjRjNDdhZjkzMjI5MWFjMzRjZDc2L3RhYmxlcmFuZ2U6M2ExZmFlYmYzZDE2NGM0N2FmOTMyMjkxYWMzNGNkNzZfOS0xLTEtMS0w_ba5abfc6-dc34-4b14-b3da-521274a1dcd5"
      unitRef="usd">8200552</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:PaymentsForRoyalties
      contextRef="ied6025b276df445997781e0a3e02560b_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjNhMWZhZWJmM2QxNjRjNDdhZjkzMjI5MWFjMzRjZDc2L3RhYmxlcmFuZ2U6M2ExZmFlYmYzZDE2NGM0N2FmOTMyMjkxYWMzNGNkNzZfMTAtMS0xLTEtMA_23d06717-f7e9-4bd8-b51a-ed7f63faf19e"
      unitRef="usd">995277</us-gaap:PaymentsForRoyalties>
    <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
      contextRef="ied6025b276df445997781e0a3e02560b_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjNhMWZhZWJmM2QxNjRjNDdhZjkzMjI5MWFjMzRjZDc2L3RhYmxlcmFuZ2U6M2ExZmFlYmYzZDE2NGM0N2FmOTMyMjkxYWMzNGNkNzZfMTEtMS0xLTEtMA_f820b0a8-e0d0-4843-8aa8-9ea4bfc0b25a"
      unitRef="usd">-280020</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
    <cpix:BusinessCombinationContingentConsiderationEarnedAndAccruedInOperatingExpenses
      contextRef="ied6025b276df445997781e0a3e02560b_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjNhMWZhZWJmM2QxNjRjNDdhZjkzMjI5MWFjMzRjZDc2L3RhYmxlcmFuZ2U6M2ExZmFlYmYzZDE2NGM0N2FmOTMyMjkxYWMzNGNkNzZfMTItMS0xLTEtMA_91280745-7a29-490a-b96b-eaacc41ab755"
      unitRef="usd">410790</cpix:BusinessCombinationContingentConsiderationEarnedAndAccruedInOperatingExpenses>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i7b759ac132064b2787c2b5a4ad1e70f7_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjNhMWZhZWJmM2QxNjRjNDdhZjkzMjI5MWFjMzRjZDc2L3RhYmxlcmFuZ2U6M2ExZmFlYmYzZDE2NGM0N2FmOTMyMjkxYWMzNGNkNzZfMTMtMS0xLTEtMA_cae0e47c-269a-4727-8acc-5d6e224e3b95"
      unitRef="usd">7336045</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i7b759ac132064b2787c2b5a4ad1e70f7_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMjQ0MQ_13fde4dc-a50f-4a41-a346-e5ab38c190c3"
      unitRef="usd">7300000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i3416c55598e64e2b95051149db842304_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMjQ5MQ_b6515f0a-aa26-443d-aa1d-7fc2a425b755"
      unitRef="usd">2700000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="id0ecdd80f5234983a18050bf8ecf1cda_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMjUyOQ_aaf03502-05b0-468b-98be-fdfc9801cb60"
      unitRef="usd">4600000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="ia0a8b608c7614df795f5ef973e97f9d9_D20161101-20161130"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMjk4OA_2410009a-bea7-49c9-b578-beafbba6f92c"
      unitRef="usd">100000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred
      contextRef="ia0a8b608c7614df795f5ef973e97f9d9_D20161101-20161130"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMzAyNQ_28eaec7b-1eca-41c3-b13c-60a18ad49ed6"
      unitRef="usd">900000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="i7582538d23084840b14af98041033df1_D20161101-20161130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMzA2NA_ca09e300-fbeb-4c3b-ad05-57e2742c3277"
      unitRef="shares">180000</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="i7582538d23084840b14af98041033df1_D20161101-20161130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMzY3NQ_4a27e200-6770-429a-80d9-b92de70cc25a"
      unitRef="shares">180000</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="id8d1afac2fe04daeb9be14e2c01cb3cf_D20210101-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMzg4MQ_188e9628-2d7f-4f20-8657-5ec68ea2e55a"
      unitRef="usd">900000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="ie0eada6a93ec412dbdce374da1fb4f0c_I20200731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMzk0MQ_d696541d-4433-48f4-a92e-de5b1f838e36"
      unitRef="usd">1000000.0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="id745598dd60b4f4088bc62c2d5c607b0_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMTY0OTI2NzQ0ODcwNw_2e49c163-5501-4644-bcf5-72b75b788f3d"
      unitRef="usd">1000000.0</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles
      contextRef="i9a68ec61d27040248d7dd487e14454d4_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfNDEyMg_852d4e56-4887-4192-9b77-b595b3650b23"
      unitRef="usd">2800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
    <us-gaap:ProceedsFromSaleOfIntangibleAssets
      contextRef="i78e7ac2dbdbe4730beeb4a8d45f46205_D20191001-20210930"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfNTIwNg_6251797d-7308-4a9a-856b-28fa7f2ae8d8"
      unitRef="usd">5000000</us-gaap:ProceedsFromSaleOfIntangibleAssets>
    <cpix:ProceedsFromSaleOfIntangibleAssetsInstallmentPayment
      contextRef="i6a4c618331f148a9b3e193bc04d8c16e_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMTA5OTUxMTY0NDg1MQ_685ca063-bbe2-443c-ba3c-d49719c16c77"
      unitRef="usd">3000000.0</cpix:ProceedsFromSaleOfIntangibleAssetsInstallmentPayment>
    <cpix:ProceedsFromSaleOfIntangibleAssetsInstallmentPayment
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMjE5OTAyMzI3MzA3MA_13114e56-81a6-410b-a279-7c0e9a73a661"
      unitRef="usd">500000</cpix:ProceedsFromSaleOfIntangibleAssetsInstallmentPayment>
    <us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock
      contextRef="i0109e65bd9644b7b853db5f9a5a36dc5_D20210101-20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RleHRyZWdpb246YTE3ODU5OGI2M2I0NDA3NzlkYzhmNjcxOWMyNGZmMjdfMjE5OTAyMzI3MzA4Mw_62bef6f6-076e-429a-8b77-6825f9af8afb">&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The dissolution payments from Clinigen are reflected as revenue from discontinued operations.  The Company does not &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;incur expenses associated with these payments from Clinigen. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:8pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.859%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.677%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.544%"/&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:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:9pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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;495,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-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;818,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Costs of products sold&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, Marketing and 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;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income from discontinued operations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;495,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;818,273&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDisposalGroupsIncludingDiscontinuedOperationsIncomeStatementBalanceSheetAndAdditionalDisclosuresTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6874375315de4805a4b9a90949e9e0a9_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjgyODY3YTA2N2Y4MDQ0MDk5NmE5YzZiZTE0MTY4MDJkL3RhYmxlcmFuZ2U6ODI4NjdhMDY3ZjgwNDQwOTk2YTljNmJlMTQxNjgwMmRfMi0yLTEtMS0xOTg5_9efd0625-d6dd-4e57-9daa-54326f591ab8"
      unitRef="usd">495410</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8d4b97906e974844a32b25017974062a_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjgyODY3YTA2N2Y4MDQ0MDk5NmE5YzZiZTE0MTY4MDJkL3RhYmxlcmFuZ2U6ODI4NjdhMDY3ZjgwNDQwOTk2YTljNmJlMTQxNjgwMmRfMi00LTEtMS0xOTg5_95a5840f-c429-42a1-95ae-f82dbcfbbf73"
      unitRef="usd">818273</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6874375315de4805a4b9a90949e9e0a9_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjgyODY3YTA2N2Y4MDQ0MDk5NmE5YzZiZTE0MTY4MDJkL3RhYmxlcmFuZ2U6ODI4NjdhMDY3ZjgwNDQwOTk2YTljNmJlMTQxNjgwMmRfMy0yLTEtMS0xOTg5_fcb8190a-45e5-460b-ba15-bc16194b8bbc"
      unitRef="usd">0</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i8d4b97906e974844a32b25017974062a_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjgyODY3YTA2N2Y4MDQ0MDk5NmE5YzZiZTE0MTY4MDJkL3RhYmxlcmFuZ2U6ODI4NjdhMDY3ZjgwNDQwOTk2YTljNmJlMTQxNjgwMmRfMy00LTEtMS0xOTg5_f8e71c45-9eae-4665-aaf3-99e645e5e4aa"
      unitRef="usd">0</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i6874375315de4805a4b9a90949e9e0a9_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjgyODY3YTA2N2Y4MDQ0MDk5NmE5YzZiZTE0MTY4MDJkL3RhYmxlcmFuZ2U6ODI4NjdhMDY3ZjgwNDQwOTk2YTljNmJlMTQxNjgwMmRfNC0yLTEtMS0xOTg5_f5ebbc85-fc26-45db-8537-8ac54f81dfae"
      unitRef="usd">0</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i8d4b97906e974844a32b25017974062a_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjgyODY3YTA2N2Y4MDQ0MDk5NmE5YzZiZTE0MTY4MDJkL3RhYmxlcmFuZ2U6ODI4NjdhMDY3ZjgwNDQwOTk2YTljNmJlMTQxNjgwMmRfNC00LTEtMS0xOTg5_bf149f5b-10de-4b10-9024-24f458bc20c8"
      unitRef="usd">0</us-gaap:SellingAndMarketingExpense>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i6874375315de4805a4b9a90949e9e0a9_D20210101-20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjgyODY3YTA2N2Y4MDQ0MDk5NmE5YzZiZTE0MTY4MDJkL3RhYmxlcmFuZ2U6ODI4NjdhMDY3ZjgwNDQwOTk2YTljNmJlMTQxNjgwMmRfNS0yLTEtMS0xOTg5_85065061-6a79-4b42-b74e-d946c173f783"
      unitRef="usd">495410</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
    <us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
      contextRef="i8d4b97906e974844a32b25017974062a_D20200101-20200331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOmJlZDVhOGM3M2M1NDQ1MjQ4N2YyNjJjNTJmZjkwMTdjL3NlYzpiZWQ1YThjNzNjNTQ0NTI0ODdmMjYyYzUyZmY5MDE3Y181OC9mcmFnOmExNzg1OThiNjNiNDQwNzc5ZGM4ZjY3MTljMjRmZjI3L3RhYmxlOjgyODY3YTA2N2Y4MDQ0MDk5NmE5YzZiZTE0MTY4MDJkL3RhYmxlcmFuZ2U6ODI4NjdhMDY3ZjgwNDQwOTk2YTljNmJlMTQxNjgwMmRfNS00LTEtMS0xOTg5_a9407771-d70a-4618-a456-ba041bbf0436"
      unitRef="usd">818273</us-gaap:IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity>
</xbrl>
