<?xml version="1.0" encoding="US-ASCII" ?>
    <!-- Field: Doc-Info; Name: Generator; Value: GoFiler Complete; Version: 5.8a -->
    <!-- Field: Doc-Info; Name: VendorURI; Value: http://www.novaworks.com -->
    <!-- Field: Doc-Info; Name: Source; Value: CODX %2D 20210331 10Q Q1 DFN.xfr; Date: 2021%2D05%2D13T07:53:09Z -->
    <!-- Field: Doc-Info; Name: Status; Value: 0x00000000 -->
<xbrli:xbrl xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2021" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31" xmlns:us-roles="http://fasb.org/us-roles/2021-01-31" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:us-types="http://fasb.org/us-types/2021-01-31" xmlns:country="http://xbrl.sec.gov/country/2021" xmlns:srt="http://fasb.org/srt/2021-01-31" xmlns:CODX="http://codiagnostics.com/20210331">
    <link:schemaRef xlink:href="codx-20210331.xsd" xlink:type="simple" />
    <xbrli:context id="From2021-01-01to2021-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_custom_TwoThousandFifteenLongTermIncentivePlanMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">CODX:TwoThousandFifteenLongTermIncentivePlanMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrBrentSatterfieldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrSatterfieldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrSatterfieldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2017-01-01</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31_custom_ConvertiblePreferredStocksMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:ConvertiblePreferredStocksMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2016-12-28to2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrSatterfieldMember_custom_PerMonthMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:TypeOfArrangementAxis">CODX:ExclusiveLicenseAgreementMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:DrSatterfieldMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">CODX:PerMonthMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2016-12-28</xbrli:startDate>
        <xbrli:endDate>2017-01-01</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember_custom_TwoCustomersTogetherMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:TwoCustomersTogetherMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_custom_OptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:OptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">CODX:ThirdPartiesMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_custom_ConvertiblePreferredStocksMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:ConvertiblePreferredStocksMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_srt_AmericasMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_custom_RestOfWorldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_srt_AmericasMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_custom_RestOfWorldMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">CODX:RestOfWorldMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_custom_StockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:StockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-05-11">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-05-11</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_custom_OptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:OptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_custom_StockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:StockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_custom_RestrictedStockUnitsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:RestrictedStockUnitsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_custom_RestrictedStockUnitsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:RestrictedStockUnitsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember_custom_ThreeCustomersTogetherMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">CODX:ThreeCustomersTogetherMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_us-gaap_EmployeeStockOptionMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_us-gaap_WarrantMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-02-29">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-02-29</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2019-12-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2019-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-03-31">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_custom_ConvertiblePreferredStocksMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:ConvertiblePreferredStocksMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:ConvertiblePreferredStocksMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_custom_ConvertiblePreferredStocksMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:ConvertiblePreferredStocksMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-03-31_custom_ConvertiblePreferredStocksMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">CODX:ConvertiblePreferredStocksMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-03-31_us-gaap_CommonStockMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-03-31_us-gaap_AdditionalPaidInCapitalMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-03-31_us-gaap_RetainedEarningsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-03-31_us-gaap_FairValueMeasurementsRecurringMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-03-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2021-01-01to2021-01-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2021-01-01</xbrli:startDate>
        <xbrli:endDate>2021-01-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-01-31_custom_StockOptionsMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-01-31_custom_StockOptionsMember_srt_MinimumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2021-01-31_custom_StockOptionsMember_srt_MaximumMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">CODX:StockOptionsMember</xbrldi:explicitMember>
          <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2021-01-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:instant>2020-12-31</xbrli:instant>
      </xbrli:period>
    </xbrli:context>
    <xbrli:context id="From2020-01-01to2020-03-31_us-gaap_WarrantMember54165000">
      <xbrli:entity>
        <xbrli:identifier scheme="http://www.sec.gov/CIK">0001692415</xbrli:identifier>
        <xbrli:segment>
          <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
        </xbrli:segment>
      </xbrli:entity>
      <xbrli:period>
        <xbrli:startDate>2020-01-01</xbrli:startDate>
        <xbrli:endDate>2020-03-31</xbrli:endDate>
      </xbrli:period>
    </xbrli:context>
    <xbrli:unit id="USD">
      <xbrli:measure>iso4217:USD</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Shares">
      <xbrli:measure>xbrli:shares</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="USDPShares">
      <xbrli:divide>
        <xbrli:unitNumerator>
          <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unitNumerator>
        <xbrli:unitDenominator>
          <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unitDenominator>
      </xbrli:divide>
    </xbrli:unit>
    <xbrli:unit id="Percentage">
      <xbrli:measure>xbrli:pure</xbrli:measure>
    </xbrli:unit>
    <xbrli:unit id="Sqft">
      <xbrli:measure>utr:acre</xbrli:measure>
    </xbrli:unit>
    <dei:DocumentType contextRef="From2021-01-01to2021-03-31">10-Q</dei:DocumentType>
    <dei:DocumentPeriodEndDate contextRef="From2021-01-01to2021-03-31">2021-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="From2021-01-01to2021-03-31">2021</dei:DocumentFiscalYearFocus>
    <dei:EntityRegistrantName contextRef="From2021-01-01to2021-03-31">Co-Diagnostics, Inc.</dei:EntityRegistrantName>
    <dei:EntityCentralIndexKey contextRef="From2021-01-01to2021-03-31">0001692415</dei:EntityCentralIndexKey>
    <dei:EntityCurrentReportingStatus contextRef="From2021-01-01to2021-03-31">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityFilerCategory contextRef="From2021-01-01to2021-03-31">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2021-01-01to2021-03-31">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2021-01-01to2021-03-31">true</dei:EntityEmergingGrowthCompany>
    <dei:EntityExTransitionPeriod contextRef="From2021-01-01to2021-03-31">false</dei:EntityExTransitionPeriod>
    <dei:CurrentFiscalYearEndDate contextRef="From2021-01-01to2021-03-31">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityInteractiveDataCurrent contextRef="From2021-01-01to2021-03-31">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityShellCompany contextRef="From2021-01-01to2021-03-31">false</dei:EntityShellCompany>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="AsOf2021-03-31" unitRef="USDPShares" decimals="INF">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="AsOf2020-12-31" unitRef="USDPShares" decimals="INF">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">7242954</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">18012083</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">7243</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="From2020-01-01to2020-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">18004840</us-gaap:StockIssuedDuringPeriodValueNewIssues>
    <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="From2020-01-01to2020-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:ShareBasedCompensation contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">1513012</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">432823</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="From2021-01-01to2021-01-31_custom_StockOptionsMember" unitRef="USD" decimals="0">65000</us-gaap:ShareBasedCompensation>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="From2021-01-01to2021-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">19470005</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices contextRef="From2021-01-01to2021-03-31_custom_ThirdPartiesMember_us-gaap_RestrictedStockMember" unitRef="Shares" decimals="INF">4290</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <dei:DocumentFiscalPeriodFocus contextRef="From2021-01-01to2021-03-31">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag contextRef="From2021-01-01to2021-03-31">false</dei:AmendmentFlag>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance contextRef="AsOf2021-03-31_custom_TwoThousandFifteenLongTermIncentivePlanMember" unitRef="Shares" decimals="INF">6000000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="AsOf2021-03-31_custom_StockOptionsMember" unitRef="USD" decimals="0">6889338</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="AsOf2021-03-31_us-gaap_WarrantMember" unitRef="USD" decimals="0">540000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod contextRef="From2021-01-01to2021-03-31" unitRef="Shares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">70000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">70000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted contextRef="From2021-01-01to2021-03-31" unitRef="Shares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures contextRef="From2021-01-01to2021-03-31" unitRef="Shares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised contextRef="From2021-01-01to2021-03-31" unitRef="Shares" xsi:nil="true" />
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice contextRef="AsOf2020-12-31" unitRef="USDPShares" decimals="INF">1.83</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsOutstandingWeightedAverageExercisePrice>
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsForfeituresInPeriodWeightedAverageExercisePrice contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <CODX:ShareBasedCompensationArrangementsByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue contextRef="AsOf2021-03-31" unitRef="USDPShares" decimals="INF">5.21</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue contextRef="AsOf2020-12-31" unitRef="USDPShares" decimals="INF">5.21</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsWeightedAverageGrantDateFairValue>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNonOptionsForfeitedWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionsExercisesInPeriodWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="From2021-01-01to2021-03-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="From2021-01-01to2021-03-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">65891</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">148980</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="From2021-01-01to2021-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="From2021-01-01to2021-03-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">66</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="From2021-01-01to2021-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">148914</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="From2021-01-01to2021-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="From2021-01-01to2021-03-31_custom_StockOptionsMember" unitRef="USD" decimals="0">574000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2021-01-01to2021-03-31_custom_StockOptionsMember">P1Y2M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="From2021-01-01to2021-03-31_us-gaap_RestrictedStockUnitsRSUMember">P2Y10M25D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">1513012</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">432823</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2021-01-01to2021-03-31_custom_OptionsMember" unitRef="USD" decimals="0">76672</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2021-01-01to2021-03-31_us-gaap_WarrantMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2021-01-01to2021-03-31_custom_StockMember" unitRef="USD" decimals="0">39900</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2020-01-01to2020-03-31_custom_OptionsMember" unitRef="USD" decimals="0">401630</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2020-01-01to2020-03-31_custom_StockMember" unitRef="USD" decimals="0">31193</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2021-01-01to2021-03-31_custom_RestrictedStockUnitsMember" unitRef="USD" decimals="0">1396440</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2020-01-01to2020-03-31_custom_RestrictedStockUnitsMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="From2020-01-01to2020-03-31_us-gaap_WarrantMember54165000" unitRef="USD" xsi:nil="true" />
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">81118971</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">71237197</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">25409690</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">17510715</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AdditionalPaidInCapital contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">50819120</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">49157236</us-gaap:AdditionalPaidInCapital>
    <us-gaap:CommonStockValue contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">28666</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">28558</us-gaap:CommonStockValue>
    <us-gaap:PreferredStockValue contextRef="AsOf2021-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:PreferredStockValue contextRef="AsOf2020-12-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:Liabilities contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">4861495</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">4540688</us-gaap:Liabilities>
    <us-gaap:DueToRelatedPartiesNoncurrent contextRef="AsOf2021-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:DueToRelatedPartiesNoncurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">30000</us-gaap:DueToRelatedPartiesNoncurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">4306693</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">4510688</us-gaap:LiabilitiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">120000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">120000</us-gaap:DueToRelatedPartiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">1594312</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">2849503</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">667592</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">598318</us-gaap:AccountsPayableCurrent>
    <us-gaap:Assets contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">81118971</us-gaap:Assets>
    <us-gaap:Assets contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">71237197</us-gaap:Assets>
    <us-gaap:RealEstateInvestmentsJointVentures contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">962182</us-gaap:RealEstateInvestmentsJointVentures>
    <us-gaap:RealEstateInvestmentsJointVentures contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">1927125</us-gaap:RealEstateInvestmentsJointVentures>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">1022192</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">949639</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:AssetsCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">79134597</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">68360433</us-gaap:AssetsCurrent>
    <us-gaap:PrepaidExpenseCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">483501</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">369028</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:InventoryNet contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">6197608</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">7995189</us-gaap:InventoryNet>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">12117127</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">12136833</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">2302644</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:MarketableSecuritiesCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">4335446</us-gaap:MarketableSecuritiesCurrent>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">57788893</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">42976713</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="AsOf2021-03-31" unitRef="USDPShares" decimals="INF">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="AsOf2020-12-31" unitRef="USDPShares" decimals="INF">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">5000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">28665714</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">28558033</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">28665714</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">28558033</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="From2021-01-01to2021-03-31" unitRef="Shares" decimals="INF">28662885</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="From2020-01-01to2020-03-31" unitRef="Shares" decimals="INF">22820450</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:EarningsPerShareDiluted contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" decimals="INF">0.26</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="From2020-01-01to2020-03-31" unitRef="USDPShares" decimals="INF">-0.05</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" decimals="INF">0.28</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic contextRef="From2020-01-01to2020-03-31" unitRef="USDPShares" decimals="INF">-0.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">1985640</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="From2020-01-01to2020-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">9884615</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">-1065193</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:InterestIncomeOther contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">14657</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">7575</us-gaap:InterestIncomeOther>
    <us-gaap:OperatingIncomeLoss contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">10334901</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">-1081949</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingExpenses contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">6417303</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">2148737</us-gaap:OperatingExpenses>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">67005</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">20748</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">2217063</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">400022</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">2935689</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">1459484</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">1197546</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">268483</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GrossProfit contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">16752204</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">1066788</us-gaap:GrossProfit>
    <us-gaap:CostOfRevenue contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">3272565</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">481740</us-gaap:CostOfRevenue>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="From2021-01-01to2021-03-31" unitRef="Shares" decimals="INF">30002729</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="From2020-01-01to2020-03-31" unitRef="Shares" decimals="INF">22820450</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:IncomeTaxesPaidNet contextRef="From2021-01-01to2021-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:IncomeTaxesPaidNet contextRef="From2020-01-01to2020-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:InterestPaidNet contextRef="From2021-01-01to2021-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:InterestPaidNet contextRef="From2020-01-01to2020-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">57788893</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">42976713</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2019-12-31" unitRef="USD" decimals="0">893138</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="AsOf2020-03-31" unitRef="USD" decimals="0">17369323</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">14812180</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">16476185</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">148981</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">18062083</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:PaymentsOfStockIssuanceCosts contextRef="From2021-01-01to2021-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:PaymentsOfStockIssuanceCosts contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">1457922</us-gaap:PaymentsOfStockIssuanceCosts>
    <CODX:ProceedsFromExerciseOfOptionsAndWarrants contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">148981</CODX:ProceedsFromExerciseOfOptionsAndWarrants>
    <CODX:ProceedsFromExerciseOfOptionsAndWarrants contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">50000</CODX:ProceedsFromExerciseOfOptionsAndWarrants>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">2393244</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">-250370</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">2032802</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities contextRef="From2020-01-01to2020-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">139558</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">100370</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">12269955</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">-1335528</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">-661115</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">392293</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">146516</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">-443009</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInInventories contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">-1797581</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">488910</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">114473</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">167761</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">59994</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">924356</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:GainLossOnSaleOfEquityInvestments contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">-464943</us-gaap:GainLossOnSaleOfEquityInvestments>
    <us-gaap:GainLossOnSaleOfEquityInvestments contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">9181</us-gaap:GainLossOnSaleOfEquityInvestments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="AsOf2021-03-31_custom_TwoThousandFifteenLongTermIncentivePlanMember" unitRef="Shares" decimals="INF">2798683</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares contextRef="AsOf2021-03-31_custom_StockOptionsMember" unitRef="Shares" decimals="INF">296667</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">79700</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">31000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">1234697</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">1300588</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="AsOf2021-01-31_custom_StockOptionsMember" unitRef="Shares" decimals="INF">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod contextRef="From2021-01-01to2021-03-31" unitRef="Shares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod contextRef="From2021-01-01to2021-03-31" unitRef="Shares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="AsOf2021-03-31" unitRef="USDPShares" decimals="INF">2.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="AsOf2020-12-31" unitRef="USDPShares" decimals="INF">2.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="AsOf2021-03-31" unitRef="USDPShares" decimals="INF">2.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="AsOf2020-12-31" unitRef="USDPShares" decimals="INF">2.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="AsOf2021-03-31" unitRef="USDPShares" decimals="INF">1.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="AsOf2020-12-31" unitRef="USDPShares" decimals="INF">1.24</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm21 contextRef="From2021-01-01to2021-03-31">P3Y</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardNonOptionsOutstandingWeightedAverageRemainingContractualTerm21>
    <CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice contextRef="AsOf2021-03-31" unitRef="USDPShares" decimals="INF">1.83</CODX:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <dei:EntityCommonStockSharesOutstanding contextRef="AsOf2021-05-11" unitRef="Shares" decimals="INF">28666972</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:SharesOutstanding contextRef="AsOf2019-12-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">17342922</us-gaap:SharesOutstanding>
    <us-gaap:SharesOutstanding contextRef="AsOf2019-12-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" decimals="INF">25600</us-gaap:SharesOutstanding>
    <us-gaap:SharesOutstanding contextRef="AsOf2020-12-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:SharesOutstanding contextRef="AsOf2020-12-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">28558033</us-gaap:SharesOutstanding>
    <us-gaap:SharesOutstanding contextRef="AsOf2021-03-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:SharesOutstanding contextRef="AsOf2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:SharesOutstanding contextRef="AsOf2021-03-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">28665714</us-gaap:SharesOutstanding>
    <us-gaap:SharesOutstanding contextRef="AsOf2020-03-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">27451064</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">76257476</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">66696509</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2019-12-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">17343</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2019-12-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">26687701</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2019-12-31_us-gaap_RetainedEarningsMember" unitRef="USD" decimals="0">-24967814</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2019-12-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" decimals="0">26</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-12-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockholdersEquity contextRef="AsOf2020-12-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">28558</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-12-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">49157236</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-12-31_us-gaap_RetainedEarningsMember" unitRef="USD" decimals="0">17510715</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2019-12-31" unitRef="USD" decimals="0">1737256</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-03-31" unitRef="USD" decimals="0">19166969</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockholdersEquity contextRef="AsOf2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockholdersEquity contextRef="AsOf2021-03-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">28666</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-03-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">27451</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">50819120</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">45172525</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2021-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" decimals="0">24409690</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="AsOf2020-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" decimals="0">-26033007</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" decimals="INF">-25600</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">2133333</us-gaap:StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities contextRef="From2020-01-01to2020-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" decimals="0">26</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">2133</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities contextRef="From2020-01-01to2020-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">-2107</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities contextRef="From2020-01-01to2020-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross contextRef="From2021-01-01to2021-03-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross contextRef="From2021-01-01to2021-03-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">41790</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">12363</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">1513012</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">432823</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2021-01-01to2021-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2021-01-01to2021-03-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">42</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">12</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2021-01-01to2021-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">1512970</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2020-01-01to2020-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">432811</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2021-01-01to2021-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensationGross contextRef="From2020-01-01to2020-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:NetIncomeLoss contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">7898975</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">-1065193</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="From2021-01-01to2021-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:NetIncomeLoss contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:NetIncomeLoss contextRef="From2021-01-01to2021-03-31_us-gaap_CommonStockMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:NetIncomeLoss contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:NetIncomeLoss contextRef="From2021-01-01to2021-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:NetIncomeLoss contextRef="From2020-01-01to2020-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:NetIncomeLoss contextRef="From2021-01-01to2021-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" decimals="0">7898975</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="From2020-01-01to2020-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" decimals="0">-1065193</us-gaap:NetIncomeLoss>
    <us-gaap:CommitmentsAndContingencies contextRef="AsOf2021-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:CommitmentsAndContingencies contextRef="AsOf2020-12-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="AsOf2021-03-31" unitRef="Shares" decimals="INF">938030</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="AsOf2020-12-31" unitRef="Shares" decimals="INF">65891</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable contextRef="AsOf2021-03-31" unitRef="USDPShares" decimals="INF">1.19</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable>
    <CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable contextRef="AsOf2020-12-31" unitRef="USDPShares" decimals="INF">1.07</CODX:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueExercisable>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31" unitRef="USDPShares" xsi:nil="true" />
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="From2021-01-01to2021-03-31">P7Y8M5D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="From2021-01-01to2021-03-31">P7Y5M1D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="AsOf2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="Shares" decimals="INF">933750</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="Shares" decimals="INF">522500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod contextRef="From2021-01-01to2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="From2021-01-01to2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="Shares" decimals="INF">480000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="AsOf2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="USDPShares" decimals="INF">10.43</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="AsOf2020-12-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="USDPShares" decimals="INF">10.49</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="USDPShares" xsi:nil="true" />
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="USDPShares" decimals="INF">10.62</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="From2021-01-01to2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="USDPShares" decimals="INF">10.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod contextRef="From2021-01-01to2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="Shares" decimals="INF">68750</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">12988627</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">12928633</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">871500</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">791800</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">925560</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">598881</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">5272048</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">7396308</us-gaap:InventoryRawMaterials>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="From2021-01-01to2021-03-31_srt_MinimumMember">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="From2021-01-01to2021-03-31_srt_MaximumMember">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="From2021-01-01to2021-03-31_us-gaap_CustomerConcentrationRiskMember_us-gaap_AccountsReceivableMember_custom_TwoCustomersTogetherMember" unitRef="Percentage" decimals="INF">0.61</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="From2021-01-01to2021-03-31_srt_AmericasMember" unitRef="Percentage" decimals="INF">0.62</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="From2021-01-01to2021-03-31_custom_RestOfWorldMember" unitRef="Percentage" decimals="INF">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="From2020-01-01to2020-03-31_srt_AmericasMember" unitRef="Percentage" decimals="INF">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="From2020-01-01to2020-03-31_custom_RestOfWorldMember" unitRef="Percentage" decimals="INF">0.60</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="From2021-01-01to2021-03-31_us-gaap_CustomerConcentrationRiskMember_us-gaap_SalesRevenueNetMember_custom_ThreeCustomersTogetherMember" unitRef="Percentage" decimals="INF">0.57</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:AssetsFairValueDisclosure contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember" unitRef="USD" decimals="0">4335446</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" unitRef="USD" xsi:nil="true" />
    <us-gaap:AssetsFairValueDisclosure contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" unitRef="USD" decimals="0">4335446</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="AsOf2020-12-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" unitRef="USD" xsi:nil="true" />
    <us-gaap:AssetsFairValueDisclosure contextRef="AsOf2021-03-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel1Member" unitRef="USD" xsi:nil="true" />
    <us-gaap:AssetsFairValueDisclosure contextRef="AsOf2021-03-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel2Member" unitRef="USD" decimals="0">2302644</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure contextRef="AsOf2021-03-31_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_FairValueInputsLevel3Member" unitRef="USD" xsi:nil="true" />
    <us-gaap:AssetsFairValueDisclosure contextRef="AsOf2021-03-31_us-gaap_FairValueMeasurementsRecurringMember" unitRef="USD" decimals="0">2302644</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">20024769</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">1548503</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="From2021-01-01to2021-03-31_srt_AmericasMember" unitRef="USD" decimals="0">12493950</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="From2021-01-01to2021-03-31_custom_RestOfWorldMember" unitRef="USD" decimals="0">7530819</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="From2020-01-01to2020-03-31_srt_AmericasMember" unitRef="USD" decimals="0">614025</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="From2020-01-01to2020-03-31_custom_RestOfWorldMember" unitRef="USD" decimals="0">934503</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:ContractWithCustomerLiability contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">158791</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">305307</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">-200071</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <CODX:IncreaseDueToPrepaymentsFromCustomers contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">53555</CODX:IncreaseDueToPrepaymentsFromCustomers>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="From2020-01-01to2020-03-31_us-gaap_EmployeeStockOptionMember" unitRef="Shares" decimals="INF">2121817</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="From2020-01-01to2020-03-31_us-gaap_WarrantMember" unitRef="Shares" decimals="INF">199090</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="From2021-01-01to2021-03-31" unitRef="Shares" decimals="INF">1339844</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="From2020-01-01to2020-03-31" unitRef="Shares" xsi:nil="true" />
    <us-gaap:AccruedRoyaltiesCurrent contextRef="AsOf2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrSatterfieldMember" unitRef="USD" decimals="0">700000</us-gaap:AccruedRoyaltiesCurrent>
    <us-gaap:DueToRelatedPartiesCurrentAndNoncurrent contextRef="AsOf2021-03-31_custom_ExclusiveLicenseAgreementMember_custom_DrBrentSatterfieldMember" unitRef="USD" decimals="0">120000</us-gaap:DueToRelatedPartiesCurrentAndNoncurrent>
    <us-gaap:LesseeOperatingLeaseTermOfContract contextRef="AsOf2020-02-29">P4Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:PaymentsForRent contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">28825</us-gaap:PaymentsForRent>
    <us-gaap:LeaseExpirationDate1 contextRef="From2021-01-01to2021-03-31">2024-02-29</us-gaap:LeaseExpirationDate1>
    <us-gaap:LeaseAndRentalExpense contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">86588</us-gaap:LeaseAndRentalExpense>
    <us-gaap:LeaseAndRentalExpense contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">51818</us-gaap:LeaseAndRentalExpense>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">861853</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:AreaOfLand contextRef="AsOf2021-03-31" unitRef="Sqft" decimals="INF">13687</us-gaap:AreaOfLand>
    <CODX:DeferredTaxAssetCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">244824</CODX:DeferredTaxAssetCurrent>
    <CODX:DeferredTaxAssetCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">547224</CODX:DeferredTaxAssetCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">158791</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">305307</us-gaap:DeferredRevenueCurrent>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">-464943</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">9181</us-gaap:EquityMethodInvestmentRealizedGainLossOnDisposal>
    <us-gaap:NonoperatingIncomeExpense contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">-450286</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">16756</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:StockIssuedDuringPeriodValueOther contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">50000</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:StockIssuedDuringPeriodValueOther contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodValueOther contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="USD" decimals="0">720</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:StockIssuedDuringPeriodValueOther contextRef="From2020-01-01to2020-03-31_us-gaap_AdditionalPaidInCapitalMember" unitRef="USD" decimals="0">49280</us-gaap:StockIssuedDuringPeriodValueOther>
    <us-gaap:StockIssuedDuringPeriodValueOther contextRef="From2020-01-01to2020-03-31_us-gaap_RetainedEarningsMember" unitRef="USD" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodSharesOther contextRef="From2020-01-01to2020-03-31_custom_ConvertiblePreferredStocksMember" unitRef="Shares" xsi:nil="true" />
    <us-gaap:StockIssuedDuringPeriodSharesOther contextRef="From2020-01-01to2020-03-31_us-gaap_CommonStockMember" unitRef="Shares" decimals="INF">719492</us-gaap:StockIssuedDuringPeriodSharesOther>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="AsOf2021-03-31_custom_StockOptionsMember" unitRef="USD" decimals="0">258885</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="AsOf2021-03-31_us-gaap_RestrictedStockUnitsRSUMember" unitRef="USD" decimals="0">8900000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:PaymentsForRoyalties contextRef="From2016-12-28to2017-01-01_custom_ExclusiveLicenseAgreementMember_custom_DrSatterfieldMember_custom_PerMonthMember" unitRef="USD" decimals="0">10000</us-gaap:PaymentsForRoyalties>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">1765998</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">637560</us-gaap:TaxesPayableCurrent>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">1128438</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable contextRef="From2020-01-01to2020-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">20024769</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">1548528</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:SharePrice contextRef="AsOf2021-01-31_custom_StockOptionsMember_srt_MinimumMember" unitRef="USDPShares" decimals="INF">9.30</us-gaap:SharePrice>
    <us-gaap:SharePrice contextRef="AsOf2021-01-31_custom_StockOptionsMember_srt_MaximumMember" unitRef="USDPShares" decimals="INF">16.49</us-gaap:SharePrice>
    <CODX:RecognizedShareBasedCompensation contextRef="From2021-01-01to2021-03-31_custom_StockOptionsMember" unitRef="USD" decimals="0">21800</CODX:RecognizedShareBasedCompensation>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="From2021-01-01to2021-03-31" unitRef="Percentage" decimals="INF">0.201</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="From2021-01-01to2021-03-31" unitRef="Percentage" decimals="INF">0.210</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="From2021-01-01to2021-03-31" unitRef="Percentage" decimals="INF">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <CODX:PaymentsToAcquireInterestInJointVentures contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">500000</CODX:PaymentsToAcquireInterestInJointVentures>
    <CODX:PaymentsToAcquireInterestInJointVentures contextRef="From2020-01-01to2020-03-31" unitRef="USD" decimals="0">-150000</CODX:PaymentsToAcquireInterestInJointVentures>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 1 &amp;#8211; Overview and Basis of Presentation&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Description of Business&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 27.35pt"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Co-Diagnostics, Inc., a Utah corporation (the &amp;#8220;Company&amp;#8221;&#13;or &amp;#8220;CDI&amp;#8221;), is developing robust and innovative molecular tools for detection of infectious diseases, liquid biopsy for cancer&#13;screening, and agricultural applications. The Company develops, manufactures and sells reagents used for diagnostic tests that function&#13;via the detection and/or analysis of nucleic acid molecules (DNA or RNA). In connection with the sale of these tests, the Company may&#13;sell diagnostic equipment and supplies from other manufacturers.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Unaudited Condensed Consolidated Financial Statements&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The accompanying unaudited condensed consolidated&#13;financial statements of the Company have been prepared in accordance with accounting principles generally accepted in the United States&#13;of America for interim financial information and with the instructions to Form 10-Q as they are prescribed for smaller reporting companies.&#13;Accordingly, they do not include all the information and footnotes required by accounting principles generally accepted in the United&#13;States of America for complete financial statements. In the opinion of management, all adjustments (consisting of normal recurring accruals)&#13;considered necessary to make the financial statements not misleading have been included. Operating results for the three months ended&#13;March 31, 2021 are not necessarily indicative of the results that may be expected for the year ending December 31, 2021. These statements&#13;should be read in conjunction with the Company&amp;#8217;s audited financial statements and related notes for the year ended December 31,&#13;2020, included in the Company&amp;#8217;s Annual Report on Form 10-K filed on March 25, 2021.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Certain 2020 financial statement amounts have been&#13;reclassified to conform to 2021 presentations.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Use of Estimates&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The preparation of financial statements in conformity&#13;with generally accepted accounting principles requires management to make estimates and assumptions that affect the amounts reported in&#13;the financial statements and the accompanying notes. Such estimates include receivables and other long-lived assets, legal and regulatory&#13;contingencies, income taxes, share based arrangements, and others. These estimates and assumptions are based on management&amp;#8217;s best&#13;estimates and judgments. Actual amounts and results could differ from those estimates.&lt;/p&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 3 &amp;#8211; Fair Value Measurements&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company measures and records certain financial&#13;assets at fair value on a recurring basis. Fair value is based on the price that would be received from selling an asset or paid to transfer&#13;a liability in an orderly transaction between market participants at the measurement date.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&amp;#8217;s financial instruments that are&#13;measured at fair value on a recurring basis consist of money market funds. The following three levels of inputs are used to measure the&#13;fair value of financial instruments:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in"&gt;Level 1: Quoted market prices&#13;in active markets for identical assets or liabilities.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in"&gt;Level 2: Observable market-based&#13;inputs or unobservable inputs that are corroborated by market data.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.25in"&gt;Level 3: Unobservable inputs&#13;that are not corroborated by market data.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&amp;#8217;s financial instruments that are&#13;measured at fair value on a recurring basis consist of certificates of deposit. The following table summarizes the assets measured at&#13;fair value on a recurring basis as of March 31, 2021 and December 31, 2020, by level within the fair value hierarchy:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="14" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;March 31, 2021&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 1)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 2)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 3)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Marketable investment securities:&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="width: 44%"&gt;&lt;font style="font-size: 10pt"&gt;Certificates of deposit&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2,302,644&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2,302,644&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="14" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;December 31, 2020&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 1)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 2)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 3)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Marketable investment securities:&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="width: 44%"&gt;&lt;font style="font-size: 10pt"&gt;Certificates of deposit&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;4,335,446&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;4,335,446&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 8 &amp;#8211; Related Party Transactions&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company acquired the exclusive rights to the CoPrimer&#13;technology pursuant to an exclusive license agreement, dated April 2014 (the &amp;#8220;Exclusive License Agreement&amp;#8221;), between the Company&#13;and DNA Logix, Inc., which was assigned to Dr. Brent Satterfield, a former executive officer, prior to the Company&amp;#8217;s acquisition&#13;of DNA Logix, Inc. On March 1, 2017, the Company entered into an amendment to its Exclusive License Agreement for its Cooperative Primers&#13;(&amp;#8220;License&amp;#8221;) technology with Dr. Satterfield. The amendment provides in part that all accrued royalties under the License cease&#13;as of January 1, 2017, and the Company began in January 2017 to pay to Dr. Satterfield $700,000 of accrued royalties at the rate of $10,000&#13;per month. At March 31, 2021, the aggregate balance of this related party liability was $120,000.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 9 &amp;#8211; Commitments and Contingencies&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Lease Obligations&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&amp;#8217;s offices are located at 2401 S.&#13;Foothill Dr., Suite D, Salt Lake City, Utah 84109-1479. In February 2020, the Company entered into a 4-year lease agreement for its office&#13;space and in March 2020, the Company entered into an addendum with our landlord for additional space. The new aggregate space consists&#13;of approximately 13,687 square feet at a monthly rate of $28,825 and expires in February 2024. For the three months ended March 31, 2021&#13;the Company expensed $86,588 for rent. For the three months ended March 31, 2020, the Company expensed $51,818 for rent. The Company&amp;#8217;s&#13;future minimum lease payments were as follows as of March 31, 2021:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Year Ending March 31,&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="text-align: center"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 82%; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;2021 (remainder)&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 15%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;214,425&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;2022&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;293,595&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;2023&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;303,059&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;2024&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;50,774&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;2025&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Total lease payments&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;861,853&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Litigation&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Liabilities for loss contingencies arising from claims,&#13;assessments, litigation, fines, and penalties and other sources are recorded when it is probable that a liability has been incurred and&#13;the amount can be reasonably estimated. Legal costs incurred in connection with loss contingencies are expensed as incurred.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In July and September 2020, securities class action&#13;complaints were filed by certain stockholders of the Company against the Company claiming that the Company promulgated false and misleading&#13;press releases to increase the price of our stock to improperly benefit the officers and directors of the Company. The plaintiffs demand&#13;compensatory damages sustained as a result of the Company&amp;#8217;s alleged wrongdoing in an amount to be proven at trial. The Company&#13;believes these lawsuits are without merit and intends to defend the cases vigorously. The Company is unable to estimate a range of loss,&#13;if any, that could result were there to be an adverse final decision in these cases. As of the date of this report, the Company does&#13;not believe it is probable that these cases will result in an unfavorable outcome; however, if an unfavorable outcome were to occur in&#13;these cases, it is possible that the impact could be material to the Company&amp;#8217;s results of operations in the period(s) in which&#13;any such outcome becomes probable and estimable.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 10 &amp;#8211; Subsequent Events&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company evaluated subsequent events pursuant to&#13;ASC Topic 855 and has determined that there are no events that need to be reported.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Cash and Cash Equivalents&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Cash and cash equivalents consist of cash on hand,&#13;money market funds and highly liquid investments with an original maturity date of 90 days or less from the date of purchase. The fair&#13;value of cash equivalents approximated their carrying value as of March 31, 2021 and December 31, 2020. The Company has its cash and cash&#13;equivalents with a large creditworthy financial institution and the balance exceeded federally insured limits. The Company has not experienced&#13;any losses in such accounts, and management believes the Company is not exposed to any significant credit risk on cash and cash equivalents.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Accounts Receivable&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Trade accounts receivable are recorded at the invoiced&#13;amount (net of allowance) and do not bear interest. The Company maintains an allowance for doubtful accounts for amounts the Company does&#13;not expect to collect. In establishing the required allowance, management considers historical losses, current market condition, customers&amp;#8217;&#13;financial condition, the age of receivables, and current payment patterns. Account balances are written off against the allowance once&#13;the receivable is deemed uncollectible. Recoveries of trade receivables previously written off are recorded when collected. At March 31,&#13;2021, total accounts receivable was $12,988,627 with an allowance for uncollectable accounts of $871,500 resulting in a net amount of&#13;$12,117,127. At December 31, 2020 total accounts receivable was $12,928,633 with an allowance for uncollectable accounts of $791,800 resulting&#13;in a net amount of $12,136,833.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:EquityMethodInvestmentsPolicy contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Equity-Method Investments&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Our equity method investments are initially recorded&#13;at cost and are included in other long-term assets in the accompanying condensed consolidated balance sheet. We adjust the carrying value&#13;of our investment based on our share of the earnings or losses in the periods which they are reported by the investee until the carrying&#13;amount is zero. The earnings or losses are included in other income (expense) in the accompanying condensed consolidated statements of&#13;operations.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsPolicy>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Inventory&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Inventory is stated at the lower of cost or net-realizable&#13;value. Inventory cost is determined on a first-in first-out basis that approximates average cost in accordance with ASC 330-10-30-12.&#13;At March 31, 2021, the Company had $6,197,608 in inventory, of which $925,560 was finished goods and $5,272,048 was raw materials. At&#13;December 31, 2020, the Company had $7,995,189 in inventory, of which $598,881 was finished goods and $7,396,308 was raw materials. The&#13;Company establishes reserves to reduce slow-moving, obsolete, or unusable inventories to their estimated useful or scrap values.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Property and Equipment&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Property and equipment are stated at cost less accumulated&#13;depreciation and amortization. Depreciation is provided using the straight-line method over the estimated useful lives of the property,&#13;generally from three to five years. Repairs and maintenance costs are expensed as incurred except when such repairs significantly add&#13;to the useful life or productive capacity of the asset, in which case the repairs are capitalized.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company reviews its long-lived assets, including&#13;property and equipment, for impairment whenever an event or change in facts and circumstances indicates that their carrying amounts may&#13;not be recoverable. Recoverability of these assets is measured by comparing the carrying amount to the estimated undiscounted future cash&#13;flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows, the assets are determined to be impaired and&#13;an impairment charge is recognized as the amount by which the carrying amount exceeds fair value.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Revenue Recognition&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company generates revenue from product sales and&#13;license sales. The Company recognizes revenue when all of the following criteria are satisfied: (i) identification of the promised goods&#13;or services in the contract; (ii) determination of whether the promised goods or services are performance obligations, including whether&#13;they are distinct in the context of the contract; (iii) measurement of the transaction price, including the constraint on variable consideration;&#13;(iv) allocation of the transaction price to the performance obligations; and (v) recognition of revenue when, or as the Company satisfies&#13;each performance obligation.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company constrains revenue by giving consideration&#13;to factors that could otherwise lead to a probable reversal of revenue. The Company records any payments received from customers prior&#13;to the Company fulfilling its performance obligation(s) as deferred revenue.&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Deferred Revenue&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Deferred revenue primarily consists of payments received&#13;from customers prior to the Company fulfilling its performance obligation of providing the product. When this occurs, the Company records&#13;a contract liability as deferred revenue. Deferred revenue is recognized as revenue as the related performance obligations are satisfied.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Research and Development&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Research and development costs are expensed when incurred.&#13;The Company expensed $2,217,063 and $400,022 of research and development costs for the three months ended March 31, 2021 and 2020, respectively.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock-based Compensation&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has granted stock-based awards, including&#13;restricted stock, stock options, stock warrants and restricted stock units (&amp;#8220;RSUs&amp;#8221;), to its employees, certain consultants&#13;and members of its board of directors. The Company records stock-based compensation based on the grant date fair value of the awards and&#13;recognizes the fair value of those awards as expense using the straight-line method over the requisite service period of the award. The&#13;Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing model. When an award is forfeited&#13;prior to the vesting date, the Company recognizes an adjustment for the previously recognized expense in the period of the forfeiture.&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Income Taxes&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company accounts for income taxes in accordance&#13;with the liability method of accounting for income taxes. Under this method, deferred income tax assets and deferred income tax liabilities&#13;represent the tax effect of temporary differences between financial reporting and tax reporting measured at enacted tax rates in effect&#13;for the year in which the differences are expected to reverse. The Company recognizes only the impact of tax positions that, based on&#13;their technical merits, are more likely than not to be sustained upon an audit by the taxing authority.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Valuation allowances are provided when it is more-likely-than-not&#13;that some or all of the deferred income tax assets may not be realized. In assessing the need for a valuation allowance, the Company has&#13;considered its historical levels of income, expectations of future taxable income and ongoing tax planning strategies.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Developing the provision for income taxes, including&#13;the effective tax rate and analysis of potential tax exposure items, if any, requires significant judgment and expertise in federal and&#13;state income tax laws, regulations and strategies, including the determination of deferred income tax assets and liabilities and any estimated&#13;valuation allowances deemed necessary to value deferred income tax assets. Judgments and tax strategies are subject to audit by various&#13;taxing authorities. While the Company believes it has no significant uncertain income tax positions in the consolidated financial statements,&#13;adverse determinations by these taxing authorities could have a material adverse effect on the consolidated financial positions, result&#13;of operations, or cash flows.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Concentrations Risk and Significant Customers&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company had certain customers which are each responsible&#13;for generating 10% or more of the total revenue for the three months ended March 31, 2021. Three customers together accounted for approximately&#13;57% of total revenue for the three months ended March 31, 2021.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Two customers each accounted for more than 10% of&#13;accounts receivable at March 31, 2021. These two customers together accounted for approximately 61% of accounts receivable at March 31,&#13;2021.&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Net Income (Loss) per Share&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Basic net income or loss per common share is computed&#13;by dividing net income or loss applicable to common shareholders by the weighted average number of shares outstanding during each period.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Diluted net income or loss per share is computed by&#13;dividing net income or loss attributable to common stockholders by the weighted-average number of shares of common stock outstanding during&#13;the period increased by common shares that could be issued upon conversion or exercise of other outstanding securities to the extent those&#13;additional common shares would be dilutive. The dilutive effect of potentially dilutive securities is reflected in diluted net income&#13;or loss per share by application of the treasury stock method. During periods when the Company is in a net loss position, basic net loss&#13;per share is the same as diluted net loss per share as the effects of potentially dilutive securities are anti-dilutive.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Recent Accounting Pronouncements&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;From time to time, new accounting pronouncements are&#13;issued by the Financial Accounting Standards Board (&amp;#8220;FASB&amp;#8221;) that are adopted by the Company as of the specified effective&#13;date. If not discussed, management believes that the impact of recently issued standards, which are not yet effective, will not have a&#13;material impact on the Company&amp;#8217;s financial statements upon adoption.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As an emerging growth company (&amp;#8220;EGC&amp;#8221;),&#13;the Company has elected to take advantage of the benefits of the extended transition period provided for in Section 7(a)(2)(B) of the&#13;Securities Act of 1933, as amended, for complying with new or revised accounting standards which allows the Company to defer adoption&#13;of certain accounting standards until those standards would otherwise apply to private companies.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In February 2016, the FASB issued ASU No. 2016-02,&#13;Leases (Topic 842), which requires recognition of leased assets and liabilities on the balance sheet and disclosing key information about&#13;leasing arrangements. This update is effective for annual periods and interim periods with those periods beginning after December 15,&#13;2021, for public EGC companies like us. The Company expects to use the modified retrospective transition method with the option to recognize&#13;a cumulative-effect adjustment at the date of adoption. The Company expects its balance sheet will be impacted as it records right-of-use&#13;assets and lease liabilities on its consolidated balance sheet but does not expect the adoption of this standard will have a material&#13;impact on its consolidated statements of operations and cash flows.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In June 2016, the FASB issued ASU No. 2016-13, Financial&#13;Instruments-Credit Losses (Topic 326) (&amp;#8220;ASU 2016-13&amp;#8221;), which requires the measurement and recognition of expected credit losses&#13;for certain financial instruments, which includes the Company&amp;#8217;s accounts receivable. ASU 2016-13 replaces the existing incurred&#13;loss impairment model with an expected loss methodology, which will result in more timely recognition of credit losses. The update is&#13;effective for annual periods and interim periods with those periods beginning after December 15, 2021, for public EGC companies like us.&#13;The standard requires a cumulative effect adjustment to the balance sheet as of the beginning of the first early reporting period in which&#13;the guidance is effective. The Company is evaluating the impact of the adoption of ASU 2016-13 on its consolidated financial statements.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In December 2019, the FASB issued ASU 2019-12, Income&#13;Taxes (Topic 740) (&amp;#8220;ASU 2019-12&amp;#8221;), which removes certain exceptions for investments, intra-period allocations and interim&#13;calculations and adds guidance to reduce complexity in accounting for income taxes. The Company adopted this standard on January 1, 2021&#13;and it did not have a material impact on its consolidated financial statements and related disclosures.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table summarizes option activity during&#13;the three months ended March 31, 2021:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Number of Options&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Exercise Price&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Fair Value&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Remaining Contractual Life (Years)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 44%"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,300,588&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2.44&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.24&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Granted&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Expired&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Forfeited/Cancelled&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Exercised&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(65,891&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2.26&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.07&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,234,697&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2.15&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.25&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;7.68&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Exercisable at March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;938,030&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2.20&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.19&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;7.42&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table sets forth the outstanding RSUs&#13;and related activity for the three months ended March 31, 2021:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Number of RSUs&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Grant Date Fair Value&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 62%"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;522,500&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;10.49&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Granted&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;480,000&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;10.40&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Vested&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(68,750&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;10.62&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Forfeited/Cancelled&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;933,750&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;10.43&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">214425</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">293595</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">303059</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">50774</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="AsOf2021-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:AccountsPayableAndAccruedLiabilitiesNoncurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">554802</us-gaap:AccountsPayableAndAccruedLiabilitiesNoncurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesNoncurrent contextRef="AsOf2020-12-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:LiabilitiesNoncurrent contextRef="AsOf2021-03-31" unitRef="USD" decimals="0">554802</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent contextRef="AsOf2020-12-31" unitRef="USD" decimals="0">30000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="From2021-01-01to2021-03-31" unitRef="USD" decimals="0">302399</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="From2020-01-01to2020-03-31" unitRef="USD" xsi:nil="true" />
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 2 &amp;#8211; Summary of Significant Accounting&#13;Policies&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Cash and Cash Equivalents&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Cash and cash equivalents consist of cash on hand,&#13;money market funds and highly liquid investments with an original maturity date of 90 days or less from the date of purchase. The fair&#13;value of cash equivalents approximated their carrying value as of March 31, 2021 and December 31, 2020. The Company has its cash and cash&#13;equivalents with a large creditworthy financial institution and the balance exceeded federally insured limits. The Company has not experienced&#13;any losses in such accounts, and management believes the Company is not exposed to any significant credit risk on cash and cash equivalents.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Marketable Investment Securities&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&amp;#8217;s marketable investment securities&#13;are comprised of investments in certificates of deposit. The Company determines the appropriate classification of its marketable investment&#13;securities at the time of purchase and re-evaluates such designation at each balance sheet date. The Company has classified and accounted&#13;for its marketable investment securities as available-for-sale securities as the Company may sell these securities at any time for use&#13;in its current operations or for other purposes, even prior to maturity. As a result, the Company classifies its marketable investment&#13;securities, including securities with stated maturities beyond twelve months, within current assets in the condensed consolidated balance&#13;sheets. Any unrealized gains or losses are immaterial.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&amp;#160;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Accounts Receivable&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Trade accounts receivable are recorded at the invoiced&#13;amount (net of allowance) and do not bear interest. The Company maintains an allowance for doubtful accounts for amounts the Company does&#13;not expect to collect. In establishing the required allowance, management considers historical losses, current market condition, customers&amp;#8217;&#13;financial condition, the age of receivables, and current payment patterns. Account balances are written off against the allowance once&#13;the receivable is deemed uncollectible. Recoveries of trade receivables previously written off are recorded when collected. At March 31,&#13;2021, total accounts receivable was $12,988,627 with an allowance for uncollectable accounts of $871,500 resulting in a net amount of&#13;$12,117,127. At December 31, 2020 total accounts receivable was $12,928,633 with an allowance for uncollectable accounts of $791,800 resulting&#13;in a net amount of $12,136,833.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Equity-Method Investments&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Our equity method investments are initially recorded&#13;at cost and are included in other long-term assets in the accompanying condensed consolidated balance sheet. We adjust the carrying value&#13;of our investment based on our share of the earnings or losses in the periods which they are reported by the investee until the carrying&#13;amount is zero. The earnings or losses are included in other income (expense) in the accompanying condensed consolidated statements of&#13;operations.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Inventory&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Inventory is stated at the lower of cost or net-realizable&#13;value. Inventory cost is determined on a first-in first-out basis that approximates average cost in accordance with ASC 330-10-30-12.&#13;At March 31, 2021, the Company had $6,197,608 in inventory, of which $925,560 was finished goods and $5,272,048 was raw materials. At&#13;December 31, 2020, the Company had $7,995,189 in inventory, of which $598,881 was finished goods and $7,396,308 was raw materials. The&#13;Company establishes reserves to reduce slow-moving, obsolete, or unusable inventories to their estimated useful or scrap values.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Property and Equipment&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Property and equipment are stated at cost less accumulated&#13;depreciation and amortization. Depreciation is provided using the straight-line method over the estimated useful lives of the property,&#13;generally from three to five years. Repairs and maintenance costs are expensed as incurred except when such repairs significantly add&#13;to the useful life or productive capacity of the asset, in which case the repairs are capitalized.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company reviews its long-lived assets, including&#13;property and equipment, for impairment whenever an event or change in facts and circumstances indicates that their carrying amounts may&#13;not be recoverable. Recoverability of these assets is measured by comparing the carrying amount to the estimated undiscounted future cash&#13;flows expected to be generated. If the carrying amount exceeds the undiscounted cash flows, the assets are determined to be impaired and&#13;an impairment charge is recognized as the amount by which the carrying amount exceeds fair value.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Revenue Recognition&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company generates revenue from product sales and&#13;license sales. The Company recognizes revenue when all of the following criteria are satisfied: (i) identification of the promised goods&#13;or services in the contract; (ii) determination of whether the promised goods or services are performance obligations, including whether&#13;they are distinct in the context of the contract; (iii) measurement of the transaction price, including the constraint on variable consideration;&#13;(iv) allocation of the transaction price to the performance obligations; and (v) recognition of revenue when, or as the Company satisfies&#13;each performance obligation.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company constrains revenue by giving consideration&#13;to factors that could otherwise lead to a probable reversal of revenue. The Company records any payments received from customers prior&#13;to the Company fulfilling its performance obligation(s) as deferred revenue.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Deferred Revenue&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Deferred revenue primarily consists of payments received&#13;from customers prior to the Company fulfilling its performance obligation of providing the product. When this occurs, the Company records&#13;a contract liability as deferred revenue. Deferred revenue is recognized as revenue as the related performance obligations are satisfied.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Research and Development&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Research and development costs are expensed when incurred.&#13;The Company expensed $2,217,063 and $400,022 of research and development costs for the three months ended March 31, 2021 and 2020, respectively.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock-based Compensation&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0.35pt; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has granted stock-based awards, including&#13;restricted stock, stock options, stock warrants and restricted stock units (&amp;#8220;RSUs&amp;#8221;), to its employees, certain consultants&#13;and members of its board of directors. The Company records stock-based compensation based on the grant date fair value of the awards and&#13;recognizes the fair value of those awards as expense using the straight-line method over the requisite service period of the award. The&#13;Company estimates the grant date fair value of stock options using the Black-Scholes option-pricing model. When an award is forfeited&#13;prior to the vesting date, the Company recognizes an adjustment for the previously recognized expense in the period of the forfeiture.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Income Taxes&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company accounts for income taxes in accordance&#13;with the liability method of accounting for income taxes. Under this method, deferred income tax assets and deferred income tax liabilities&#13;represent the tax effect of temporary differences between financial reporting and tax reporting measured at enacted tax rates in effect&#13;for the year in which the differences are expected to reverse. The Company recognizes only the impact of tax positions that, based on&#13;their technical merits, are more likely than not to be sustained upon an audit by the taxing authority.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Valuation allowances are provided when it is more-likely-than-not&#13;that some or all of the deferred income tax assets may not be realized. In assessing the need for a valuation allowance, the Company has&#13;considered its historical levels of income, expectations of future taxable income and ongoing tax planning strategies.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Developing the provision for income taxes, including&#13;the effective tax rate and analysis of potential tax exposure items, if any, requires significant judgment and expertise in federal and&#13;state income tax laws, regulations and strategies, including the determination of deferred income tax assets and liabilities and any estimated&#13;valuation allowances deemed necessary to value deferred income tax assets. Judgments and tax strategies are subject to audit by various&#13;taxing authorities. While the Company believes it has no significant uncertain income tax positions in the consolidated financial statements,&#13;adverse determinations by these taxing authorities could have a material adverse effect on the consolidated financial positions, result&#13;of operations, or cash flows.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Concentrations Risk and Significant Customers&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company had certain customers which are each responsible&#13;for generating 10% or more of the total revenue for the three months ended March 31, 2021. Three customers together accounted for approximately&#13;57% of total revenue for the three months ended March 31, 2021.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Two customers each accounted for more than 10% of&#13;accounts receivable at March 31, 2021. These two customers together accounted for approximately 61% of accounts receivable at March 31,&#13;2021.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Net Income (Loss) per Share&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Basic net income or loss per common share is computed&#13;by dividing net income or loss applicable to common shareholders by the weighted average number of shares outstanding during each period.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Diluted net income or loss per share is computed by&#13;dividing net income or loss attributable to common stockholders by the weighted-average number of shares of common stock outstanding during&#13;the period increased by common shares that could be issued upon conversion or exercise of other outstanding securities to the extent those&#13;additional common shares would be dilutive. The dilutive effect of potentially dilutive securities is reflected in diluted net income&#13;or loss per share by application of the treasury stock method. During periods when the Company is in a net loss position, basic net loss&#13;per share is the same as diluted net loss per share as the effects of potentially dilutive securities are anti-dilutive.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Recent Accounting Pronouncements&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;From time to time, new accounting pronouncements are&#13;issued by the Financial Accounting Standards Board (&amp;#8220;FASB&amp;#8221;) that are adopted by the Company as of the specified effective&#13;date. If not discussed, management believes that the impact of recently issued standards, which are not yet effective, will not have a&#13;material impact on the Company&amp;#8217;s financial statements upon adoption.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0 0 0 0.35pt; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As an emerging growth company (&amp;#8220;EGC&amp;#8221;),&#13;the Company has elected to take advantage of the benefits of the extended transition period provided for in Section 7(a)(2)(B) of the&#13;Securities Act of 1933, as amended, for complying with new or revised accounting standards which allows the Company to defer adoption&#13;of certain accounting standards until those standards would otherwise apply to private companies.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In February 2016, the FASB issued ASU No. 2016-02,&#13;Leases (Topic 842), which requires recognition of leased assets and liabilities on the balance sheet and disclosing key information about&#13;leasing arrangements. This update is effective for annual periods and interim periods with those periods beginning after December 15,&#13;2021, for public EGC companies like us. The Company expects to use the modified retrospective transition method with the option to recognize&#13;a cumulative-effect adjustment at the date of adoption. The Company expects its balance sheet will be impacted as it records right-of-use&#13;assets and lease liabilities on its consolidated balance sheet but does not expect the adoption of this standard will have a material&#13;impact on its consolidated statements of operations and cash flows.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In June 2016, the FASB issued ASU No. 2016-13, Financial&#13;Instruments-Credit Losses (Topic 326) (&amp;#8220;ASU 2016-13&amp;#8221;), which requires the measurement and recognition of expected credit losses&#13;for certain financial instruments, which includes the Company&amp;#8217;s accounts receivable. ASU 2016-13 replaces the existing incurred&#13;loss impairment model with an expected loss methodology, which will result in more timely recognition of credit losses. The update is&#13;effective for annual periods and interim periods with those periods beginning after December 15, 2021, for public EGC companies like us.&#13;The standard requires a cumulative effect adjustment to the balance sheet as of the beginning of the first early reporting period in which&#13;the guidance is effective. The Company is evaluating the impact of the adoption of ASU 2016-13 on its consolidated financial statements.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify; text-indent: 0.5in"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In December 2019, the FASB issued ASU 2019-12, Income&#13;Taxes (Topic 740) (&amp;#8220;ASU 2019-12&amp;#8221;), which removes certain exceptions for investments, intra-period allocations and interim&#13;calculations and adds guidance to reduce complexity in accounting for income taxes. The Company adopted this standard on January 1, 2021&#13;and it did not have a material impact on its consolidated financial statements and related disclosures.&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:MarketableSecuritiesPolicy contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Marketable Investment Securities&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company&amp;#8217;s marketable investment securities&#13;are comprised of investments in certificates of deposit. The Company determines the appropriate classification of its marketable investment&#13;securities at the time of purchase and re-evaluates such designation at each balance sheet date. The Company has classified and accounted&#13;for its marketable investment securities as available-for-sale securities as the Company may sell these securities at any time for use&#13;in its current operations or for other purposes, even prior to maturity. As a result, the Company classifies its marketable investment&#13;securities, including securities with stated maturities beyond twelve months, within current assets in the condensed consolidated balance&#13;sheets. Any unrealized gains or losses are immaterial.&lt;/p&gt;</us-gaap:MarketableSecuritiesPolicy>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 4 &amp;#8211; Revenue&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&amp;#160;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table sets forth revenue by geographic&#13;area:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="6" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Three Months Ended March 31,&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 62%"&gt;&lt;font style="font-size: 10pt"&gt;United States&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;12,493,950&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;614,025&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Rest of World&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;7,530,819&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;934,503&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Total&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;20,024,769&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,548,528&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Percentage of revenue by area:&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;United States&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;62&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;%&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;40&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;%&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Rest of World&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;38&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;%&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;60&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;%&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&amp;#160;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Deferred Revenue&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&amp;#160;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Changes in the Company&amp;#8217;s deferred revenue balance&#13;for the three months ended March 31, 2021 were as follows:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 82%"&gt;&lt;font style="font-size: 10pt"&gt;Balance as of December 31, 2020&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 15%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;305,307&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Revenue recognized included in deferred revenue balance at the beginning of the period&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(200,071&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Increase due to prepayments from customers&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;53,555&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;Balance as of March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;158,791&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;The Company expects to perform its performance obligation and recognize&#13;the deferred revenue as revenue during the year ended December 31, 2021.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table sets forth revenue by geographic&#13;area:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="6" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Three Months Ended March 31,&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 62%"&gt;&lt;font style="font-size: 10pt"&gt;United States&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;12,493,950&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;614,025&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Rest of World&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;7,530,819&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;934,503&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Total&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;20,024,769&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,548,528&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Percentage of revenue by area:&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;United States&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;62&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;%&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;40&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;%&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Rest of World&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;38&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;%&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;60&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;%&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 7 &amp;#8211; Income Taxes&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;For the three months ended March 31, 2021, the Company recognized an expense&#13;from income taxes of $1,985,640, representing an effective tax rate of 20.1%. The Company&amp;#8217;s effective tax rate will generally differ&#13;from the U.S. Federal statutory rate of 21.0% due to state taxes, permanent items, and discrete items. For the three months ended March&#13;31, 2020, no benefit from income taxes was recorded due to the Company being in a full valuation allowance position, resulting in an effective&#13;tax rate of 0.0%.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 6 &amp;#8211; Stock-Based Compensation&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock Incentive Plans&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Co-Diagnostics, Inc. 2015 Long Term Incentive&#13;Plan (the &amp;#8220;Incentive Plan&amp;#8221;) reserves an aggregate of 6,000,000 shares of common stock issuable upon the grant of awards under&#13;the Incentive Plan. The number of awards available for issuance under the Incentive Plan was 2,798,683 at March 31, 2021.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock Options&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table summarizes option activity during&#13;the three months ended March 31, 2021:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Number of Options&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Exercise Price&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Fair Value&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Remaining Contractual Life (Years)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 44%"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,300,588&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2.44&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.24&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Granted&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Expired&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Forfeited/Cancelled&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Exercised&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(65,891&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2.26&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.07&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,234,697&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2.15&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.25&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;7.68&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Exercisable at March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;938,030&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2.20&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.19&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;7.42&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The total intrinsic value of options exercised during&#13;the three months ended March 31, 2021 was approximately $574,000. The aggregate intrinsic value of outstanding options at March 31, 2021&#13;was $6,889,338.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Stock-based compensation cost is measured at the grant&#13;date based on the fair value of the award granted and recognized as expense over the vesting period using the straight-line method. The&#13;Company uses the Black-Scholes model to value options granted.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;In January 2021, the Company modified the exercise&#13;price of 100,000 of the options from $16.49 to $9.30. Due to the modification, the Company will recognize incremental stock-based compensation&#13;cost of $65,000, Of this amount, the Company recognized approximately $21,800 during the three months ended March 31, 2021.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As of March 31, 2021, there were 296,667 of unvested&#13;options and $258,885 of unrecognized stock-based compensation expense. The unrecognized stock-based compensation expense is expected to&#13;be recognized over 1.2 years.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Restricted Stock Units&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The grant date fair value of RSUs granted is determined&#13;using the closing market price of the Company&amp;#8217;s common stock on the grant date with the associated compensation expense amortized&#13;over the vesting period of the awards. The following table sets forth the outstanding RSUs and related activity for the three months ended&#13;March 31, 2021:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;&amp;#160;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Number of RSUs&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Grant Date Fair Value&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 62%"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;522,500&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;10.49&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Granted&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;480,000&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;10.40&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Vested&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(68,750&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;10.62&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Forfeited/Cancelled&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;933,750&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;10.43&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As of March 31, 2021, there was approximately $8,900,000&#13;of unrecognized stock-based compensation expense related to outstanding RSUs which is expected to be recognized over a weighted-average&#13;period of 2.9 years.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Warrants&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has issued warrants related to past financings&#13;and as compensation to third parties for services provided. The Company estimates the fair value of issued warrants on the date of issuance&#13;as determined using a Black-Scholes pricing model. The Company amortizes the fair value of issued warrants using a vesting schedule based&#13;on the terms and conditions of each warrant if granted for services.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table summarizes warrant activity during&#13;the three months ended March 31, 2021:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Number of Warrants&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Exercise Price&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Fair Value&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Weighted Average Remaining Contractual Life (Years)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 44%"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at December 31, 2020&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;70,000&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.83&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;5.21&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Granted&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Forfeited/Cancelled&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Exercised&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Outstanding at March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;70,000&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1.83&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;5.21&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;3.0&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The aggregate intrinsic value of outstanding warrants&#13;at March 31, 2021 was approximately $540,000. All outstanding warrants are exercisable at March 31, 2021 and there was no unrecognized&#13;stock-based compensation expense related to warrants.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock Issued for Services&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company has issued restricted stock to third parties&#13;for services provided. The grant date fair value of the restricted stock granted is determined using the closing market price of the Company&amp;#8217;s&#13;common stock on the grant date with the associated compensation expense amortized over the vesting period of the stock awards. The Company&#13;has issued 4,290 shares of restricted stock for services during the three months ended March 31, 2021 and there was no unrecognized stock-based&#13;compensation expense related to restricted stock issued.&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;&lt;i&gt;Stock-Based Compensation Expense&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company recognized stock-based compensation expense&#13;related to the types of awards discussed above as follows:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="6" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Three Months Ended March 31,&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 62%"&gt;&lt;font style="font-size: 10pt"&gt;Options&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;76,672&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;401,630&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Restricted stock units&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,396,440&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Warrants&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Stock&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;39,900&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;31,193&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Total stock-based compensation expense&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,513,012&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;432,823&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:DisclosureOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTextBlock>
    <us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The Company recognized stock-based compensation expense&#13;related to the types of awards discussed above as follows:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="6" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Three Months Ended March 31,&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 62%"&gt;&lt;font style="font-size: 10pt"&gt;Options&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;76,672&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;401,630&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Restricted stock units&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,396,440&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Warrants&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Stock&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;39,900&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;31,193&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Total stock-based compensation expense&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,513,012&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;432,823&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&lt;b&gt;Note 5 &amp;#8211; Earnings Per Share&lt;/b&gt;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table reconciles the numerator and the&#13;denominator used to calculate basic and diluted earnings per share for three months ended March 31, 2021 and 2020:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="6" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Three Months Ended March 31,&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Numerator&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="width: 62%; padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Net income (loss), as reported&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;7,898,975&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(1,065,193&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Denominator&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Weighted average shares, basic&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;28,662,885&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;22,820,450&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Dilutive effect of stock options, warrants and RSUs&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,339,844&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Shares used to compute diluted earnings per share&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;30,002,729&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;22,820,450&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Basic earnings per share&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;0.28&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(0.05&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Diluted earnings per share&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;0.26&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(0.05&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;As a result of incurring a net loss for the three&#13;months ended March 31, 2020, no potentially dilutive securities are included in the calculation of diluted earnings per share because&#13;such effect would be anti-dilutive. The Company had potentially dilutive securities as of March 31, 2020, consisting of: (i) 2,121,817&#13;options and (ii) 199,090 warrants.&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table reconciles the numerator and the&#13;denominator used to calculate basic and diluted earnings per share for three months ended March 31, 2021 and 2020:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="6" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Three Months Ended March 31,&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2021&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Numerator&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="width: 62%; padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Net income (loss), as reported&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;7,898,975&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; width: 16%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(1,065,193&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%; padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Denominator&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Weighted average shares, basic&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;28,662,885&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;22,820,450&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Dilutive effect of stock options, warrants and RSUs&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;1,339,844&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;Shares used to compute diluted earnings per share&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;30,002,729&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;22,820,450&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Basic earnings per share&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;0.28&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(0.05&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;Diluted earnings per share&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;0.26&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(0.05&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;The following table summarizes the assets measured&#13;at fair value on a recurring basis as of March 31, 2021 and December 31, 2020, by level within the fair value hierarchy:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="14" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;March 31, 2021&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 1)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 2)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 3)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Marketable investment securities:&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="width: 44%"&gt;&lt;font style="font-size: 10pt"&gt;Certificates of deposit&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2,302,644&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;2,302,644&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="14" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;December 31, 2020&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom"&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 1)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 2)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;(Level 3)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td colspan="2" style="border-bottom: black 1.5pt solid; text-align: center"&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;&lt;b&gt;Marketable investment securities:&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="width: 44%"&gt;&lt;font style="font-size: 10pt"&gt;Certificates of deposit&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;4,335,446&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;-&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 11%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;4,335,446&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="From2021-01-01to2021-03-31">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Changes in the Company&amp;#8217;s deferred revenue balance&#13;for the three months ended March 31, 2021 were as follows:&lt;/p&gt;&#13;&#13;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;&amp;#160;&lt;/p&gt;&#13;&#13;&lt;table cellspacing="0" cellpadding="0" style="font: 12pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="width: 82%"&gt;&lt;font style="font-size: 10pt"&gt;Balance as of December 31, 2020&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 15%; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;305,307&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="width: 1%"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Revenue recognized included in deferred revenue balance at the beginning of the period&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;(200,071&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td&gt;&lt;font style="font-size: 10pt"&gt;)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: #CCEEFF"&gt;&#13;    &lt;td style="padding-bottom: 1.5pt; padding-left: 10pt"&gt;&lt;font style="font-size: 10pt"&gt;Increase due to prepayments from customers&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 1.5pt solid; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;53,555&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 1.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;tr style="vertical-align: bottom; background-color: white"&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&lt;font style="font-size: 10pt"&gt;&amp;#160;Balance as of March 31, 2021&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double"&gt;&lt;font style="font-size: 10pt"&gt;$&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="border-bottom: black 2.25pt double; text-align: right"&gt;&lt;font style="font-size: 10pt"&gt;158,791&lt;/font&gt;&lt;/td&gt;&#13;    &lt;td style="padding-bottom: 2.5pt"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&#13;  &lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
</xbrli:xbrl>
