<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:CODX="http://co-dx.com/20251231"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2026"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:us-gaap="http://fasb.org/us-gaap/2026"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="codx-20251231.xsd" xlink:type="simple"/>
    <context id="From2025-01-01to2025-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_PeoMember_custom_AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_PeoMember_custom_YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_PeoMember_custom_YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_PeoMember_custom_FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_PeoMember_custom_DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_PeoMember_custom_ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_PeoMember_custom_DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">CODX:DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_PeoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-012024-12-31_ecd_NonPeoNeoMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:typedMember dimension="ecd:MeasureAxis">
                    <ecd:MeasureAxis.domain>1</ecd:MeasureAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001692415</identifier>
            <segment>
                <xbrldi:typedMember dimension="ecd:MeasureAxis">
                    <ecd:MeasureAxis.domain>2</ecd:MeasureAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <dei:AmendmentFlag contextRef="From2025-01-01to2025-12-31" id="Fact000003">false</dei:AmendmentFlag>
    <dei:EntityCentralIndexKey contextRef="From2025-01-01to2025-12-31" id="Fact000004">0001692415</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="From2025-01-01to2025-12-31" id="xdx2ixbrl0011">PRE 14A</dei:DocumentType>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember"
      id="xdx2ixbrl0062"
      unitRef="USD"
      xsi:nil="true"/>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember"
      id="xdx2ixbrl0063"
      unitRef="USD"
      xsi:nil="true"/>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember"
      id="xdx2ixbrl0064"
      unitRef="USD"
      xsi:nil="true"/>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember"
      id="xdx2ixbrl0065"
      unitRef="USD"
      xsi:nil="true"/>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember"
      id="xdx2ixbrl0066"
      unitRef="USD"
      xsi:nil="true"/>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember"
      id="xdx2ixbrl0067"
      unitRef="USD"
      xsi:nil="true"/>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember"
      id="xdx2ixbrl0068"
      unitRef="USD"
      xsi:nil="true"/>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember"
      id="xdx2ixbrl0069"
      unitRef="USD"
      xsi:nil="true"/>
    <dei:EntityRegistrantName contextRef="From2025-01-01to2025-12-31" id="Fact000012">CO-DIAGNOSTICS, INC.</dei:EntityRegistrantName>
    <ecd:InsiderTrdPoliciesProcAdoptedFlag contextRef="From2025-01-01to2025-12-31" id="Fact000013">true</ecd:InsiderTrdPoliciesProcAdoptedFlag>
    <ecd:PvpTableTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000015">&lt;table cellpadding="0" cellspacing="0" id="xdx_881_eecd--PvpTableTextBlock_zm44P16hdov1" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%" summary="xdx: Disclosure - Pay vs Performance Disclosure"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Year&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_489_eecd--PeoTotalCompAmt_zZPdtRQKNSj3" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Summary
    compensation table total CEO ($)&lt;span id="xdx_F56_zaiDotx2nIIi"&gt;(1)(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_486_eecd--PeoActuallyPaidCompAmt_zXQpEI1zcIA6" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Compensation
    actually paid to CEO ($)&lt;span id="xdx_F52_zKHxZHja7FJc"&gt;(1)(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_489_eecd--NonPeoNeoAvgTotalCompAmt_ztWUy26SdiBf" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Average
    summary compensation table total for non-CEO NEOs ($)&lt;span id="xdx_F50_zLMHOE3ahGW6"&gt;(2)(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_48F_eecd--NonPeoNeoAvgCompActuallyPaidAmt_z2TzDDD9vir1" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Average
    compensation actually paid to non-CEO NEOs ($)&lt;span id="xdx_F55_zNHhuW3HG5r"&gt;(3)(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_48A_eecd--TotalShareholderRtnAmt_zZDsRFjQlqFd" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Value of Initial Fixed $100 Investment based on Total
    shareholder return ($)&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" id="xdx_480_eus-gaap--NetIncomeLoss_pn6n6_zw9b0r899QMf" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Net Income (in millions) ($)&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20250101__20251231_zXT8s9fSDis2" style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="vertical-align: top; width: 22%; text-align: left"&gt;2025&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;528,750&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;276,450&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;390,625&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;240,257&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;13&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 2%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;(47&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr id="xdx_418_20240101__20241231_zAxVs0LTENPg" style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="vertical-align: top; text-align: left"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;716,917&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;421,350&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;501,475&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;346,524&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;56&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(38&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</ecd:PvpTableTextBlock>
    <ecd:PeoTotalCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000016"
      unitRef="USD">528750</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000017"
      unitRef="USD">276450</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000018"
      unitRef="USD">390625</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000019"
      unitRef="USD">240257</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000020"
      unitRef="USD">13</ecd:TotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-01to2025-12-31"
      decimals="-6"
      id="Fact000021"
      unitRef="USD">-47000000</us-gaap:NetIncomeLoss>
    <ecd:PeoTotalCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000022"
      unitRef="USD">716917</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000023"
      unitRef="USD">421350</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000024"
      unitRef="USD">501475</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000025"
      unitRef="USD">346524</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000026"
      unitRef="USD">56</ecd:TotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-12-31"
      decimals="-6"
      id="Fact000027"
      unitRef="USD">-38000000</us-gaap:NetIncomeLoss>
    <ecd:NamedExecutiveOfficersFnTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000029">Dwight Egan</ecd:NamedExecutiveOfficersFnTextBlock>
    <ecd:PeoName contextRef="From2025-01-01to2025-12-31" id="Fact000030">Dwight Egan</ecd:PeoName>
    <ecd:PeoName contextRef="From2024-01-012024-12-31" id="Fact000031">Dwight Egan</ecd:PeoName>
    <ecd:Additional402vDisclosureTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000034">The
    dollar amounts reported in these columns represent the amounts of &#x201c;compensation actually paid.&#x201d; The Amounts are computed
    in accordance with Item 402(v) of Regulation S-K by deducting and adding the following amounts from the &#x201c;Total&#x201d; column
    of the SCT (pursuant to SEC rules, fair value at each measurement date is computed in a manner consistent with the fair value methodology
    used to account for share-based payments in our financial statements under GAAP)</ecd:Additional402vDisclosureTextBlock>
    <ecd:AdjToPeoCompFnTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000037">&lt;p id="xdx_898_eecd--AdjToPeoCompFnTextBlock_dU_zXTTodYjvss8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Dwight Egan&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Average Non-CEO NEOs&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Dwight Egan&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Average Non-CEO NEOs&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 40%; font-weight: bold; text-align: left"&gt;Total Compensation from Summary Compensation Table&lt;/td&gt;&lt;td style="width: 3%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eecd--PeoTotalCompAmt_c20250101__20251231_zdywDNglm7x5" style="width: 10%; font-weight: bold; text-align: right"&gt;528,750&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eecd--NonPeoNeoAvgTotalCompAmt_c20250101__20251231_zzyqDhhBH9o1" style="width: 10%; font-weight: bold; text-align: right"&gt;390,625&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eecd--PeoTotalCompAmt_c20240101__20241231_zFeZlludrpjk" style="width: 10%; font-weight: bold; text-align: right"&gt;716,917&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 3%; font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eecd--NonPeoNeoAvgTotalCompAmt_c20240101__20241231_zF2YtXM4ChRf" style="width: 10%; font-weight: bold; text-align: right"&gt;501,475&lt;/td&gt;&lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Adjustments for Equity Awards&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Adjustment for grant date values in the Summary Compensation Table&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember_zVUQrjIY7GT" style="text-align: right"&gt;(68,750&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember_zV6SF1t12aA3" style="text-align: right"&gt;(55,625&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember_zcySxE0RZbn3" style="text-align: right"&gt;(305,250&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember_zU28RvKkN0w7" style="text-align: right"&gt;(191,475&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Year-end fair value of unvested awards granted in the current year&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember_zCNgXa2slYbf" style="text-align: right"&gt;38,638&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember_znBcnttu5Gyj" style="text-align: right"&gt;31,261&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember_zNhC7p8qaE9b" style="text-align: right"&gt;171,875&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember_z1UTlMu8z07b" style="text-align: right"&gt;107,813&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Year-over-year difference of year-end fair values for unvested awards granted
    in prior years&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_987_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember_z9ElIqLRNkfi" style="text-align: right"&gt;(106,590&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_988_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember_zubqQmAgxnHg" style="text-align: right"&gt;(75,709&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember_zbrK2927oZH3" style="text-align: right"&gt;(136,300&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember_zQKvuRf9mXt9" style="text-align: right"&gt;(70,694&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Fair values at vest date for awards granted and vested in current year&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember_zyeuFktbirT7" style="text-align: right"&gt;16,051&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember_zBk4O0XCY95j" style="text-align: right"&gt;12,987&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember_zKNicCrgYdB6" style="text-align: right"&gt;46,291&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_981_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember_zSzKqfHm2xdg" style="text-align: right"&gt;29,038&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Difference in fair values between prior year-end fair values and vest date fair
    values for awards granted in prior years&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember_zLErOTNlS1mc" style="text-align: right"&gt;(131,649&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98E_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember_ztyxqdqnVZz3" style="text-align: right"&gt;(63,282&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember_zk4ka0Hsrse9" style="text-align: right"&gt;(72,183&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember_zTqv9FwAgBjd" style="text-align: right"&gt;(29,633&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Forfeitures during current year equal to prior year-end fair value&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember_zQph8jijddqg" style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0062"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember_zXoROgrU9Mdc" style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0063"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember_zBxBuzBOHJoa" style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0064"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--ForfeituresDuringCurrentYearEqualToPriorYearEndFairValueMember_zzyZYJsxtNt3" style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0065"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="padding-left: 10pt; text-align: left"&gt;Dividends or dividend equivalents not otherwise included in total compensation&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_980_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember_zTE9hHFBsqdl" style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0066"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember_zYWPLaW1zv0f" style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0067"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98C_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember_zjV3PLBqlCHg" style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0068"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--DividendsOrDividendEquivalentsNotOtherwiseIncludedInTotalCompensationMember_zVvW8OXXjKi4" style="text-align: right"&gt;&lt;span style="-sec-ix-hidden: xdx2ixbrl0069"&gt;-&lt;/span&gt;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Total Adjustments for Equity Awards&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember_zQkvhUUy2KT5" style="font-weight: bold; text-align: right"&gt;(252,300&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember_zhd04g2pqwE9" style="font-weight: bold; text-align: right"&gt;(150,368&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_986_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember_zxG5WnVghig8" style="font-weight: bold; text-align: right"&gt;(295,567&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember_z3qJBhfnR7n8" style="font-weight: bold; text-align: right"&gt;(154,951&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;Compensation Actually Paid (as calculated)&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eecd--PeoActuallyPaidCompAmt_c20250101__20251231_zkoZTBgrEYrd" style="font-weight: bold; text-align: right"&gt;276,450&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98B_eecd--NonPeoNeoAvgCompActuallyPaidAmt_c20250101__20251231_zfTBwPvTy0Nd" style="font-weight: bold; text-align: right"&gt;240,257&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eecd--PeoActuallyPaidCompAmt_c20240101__20241231_zTZk8Z8BDNEg" style="font-weight: bold; text-align: right"&gt;421,350&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold"&gt;&#160;&lt;/td&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eecd--NonPeoNeoAvgCompActuallyPaidAmt_c20240101__20241231_zEoHQFucqbmj" style="font-weight: bold; text-align: right"&gt;346,524&lt;/td&gt;&lt;td style="font-weight: bold; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;

</ecd:AdjToPeoCompFnTextBlock>
    <ecd:PeoTotalCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000038"
      unitRef="USD">528750</ecd:PeoTotalCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000039"
      unitRef="USD">390625</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:PeoTotalCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000040"
      unitRef="USD">716917</ecd:PeoTotalCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000041"
      unitRef="USD">501475</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember"
      decimals="0"
      id="Fact000042"
      unitRef="USD">-68750</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember"
      decimals="0"
      id="Fact000043"
      unitRef="USD">-55625</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember"
      decimals="0"
      id="Fact000044"
      unitRef="USD">-305250</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_AdjustmentForGrantDateValuesInTheSummaryCompensationTableMember"
      decimals="0"
      id="Fact000045"
      unitRef="USD">-191475</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember"
      decimals="0"
      id="Fact000046"
      unitRef="USD">38638</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember"
      decimals="0"
      id="Fact000047"
      unitRef="USD">31261</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember"
      decimals="0"
      id="Fact000048"
      unitRef="USD">171875</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_YearEndFairValueOfUnvestedAwardsGrantedInTheCurrentYearMember"
      decimals="0"
      id="Fact000049"
      unitRef="USD">107813</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember"
      decimals="0"
      id="Fact000050"
      unitRef="USD">-106590</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember"
      decimals="0"
      id="Fact000051"
      unitRef="USD">-75709</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember"
      decimals="0"
      id="Fact000052"
      unitRef="USD">-136300</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_YearOverYearDifferenceOfYearEndFairValuesForUnvestedAwardsGrantedInPriorYearsMember"
      decimals="0"
      id="Fact000053"
      unitRef="USD">-70694</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember"
      decimals="0"
      id="Fact000054"
      unitRef="USD">16051</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember"
      decimals="0"
      id="Fact000055"
      unitRef="USD">12987</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember"
      decimals="0"
      id="Fact000056"
      unitRef="USD">46291</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_FairValuesAtVestDateForAwardsGrantedAndVestedInCurrentYearMember"
      decimals="0"
      id="Fact000057"
      unitRef="USD">29038</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember"
      decimals="0"
      id="Fact000058"
      unitRef="USD">-131649</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember"
      decimals="0"
      id="Fact000059"
      unitRef="USD">-63282</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember"
      decimals="0"
      id="Fact000060"
      unitRef="USD">-72183</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_DifferenceInFairValuesBetweenPriorYearEndFairValuesAndVestDateFairValuesForAwardsGrantedInPriorYearsMember"
      decimals="0"
      id="Fact000061"
      unitRef="USD">-29633</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember"
      decimals="0"
      id="Fact000070"
      unitRef="USD">-252300</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember"
      decimals="0"
      id="Fact000071"
      unitRef="USD">-150368</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember"
      decimals="0"
      id="Fact000072"
      unitRef="USD">-295567</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember"
      decimals="0"
      id="Fact000073"
      unitRef="USD">-154951</ecd:AdjToCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000074"
      unitRef="USD">276450</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000075"
      unitRef="USD">240257</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000076"
      unitRef="USD">421350</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000077"
      unitRef="USD">346524</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TabularListTableTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000079">&lt;p id="xdx_890_eecd--TabularListTableTextBlock_dU_z3iZSDWkeB9f" style="font: 10pt Times New Roman, Times, Serif; display: none; margin: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;Narrative
Disclosure: Pay Versus Performance Table&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The
illustrations below provide a graphical description of CAP (as calculated in accordance with the SEC rules) and the following measures:&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; width: 0.25in; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_904_eecd--MeasureName_c20250101__20251231__ecd--MeasureAxis__1_zfGgGLC2XDBh"&gt;Co-Diagnostics&#x2019;
    cumulative TSR&lt;/span&gt;; and&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#x25cf;&lt;/span&gt;&lt;/td&gt;
    &lt;td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;span id="xdx_907_eecd--MeasureName_c20250101__20251231__ecd--MeasureAxis__2_z7rPRg5O0TB2"&gt;Co-Diagnostics&#x2019;
    Net Income&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
</ecd:TabularListTableTextBlock>
    <ecd:MeasureName contextRef="From2025-01-012025-12-31_1" id="Fact000080">Co-Diagnostics&#x2019;     cumulative TSR</ecd:MeasureName>
    <ecd:MeasureName contextRef="From2025-01-012025-12-31_2" id="Fact000081">Co-Diagnostics&#x2019;     Net Income</ecd:MeasureName>
    <ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000083">&lt;p id="xdx_899_eecd--CompActuallyPaidVsTotalShareholderRtnTextBlock_dU_zMrDTirijoP8" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;CAP
and Cumulative TSR&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;img alt="" src="formpre14a_003.jpg"/&gt;&#160;&lt;/span&gt;&lt;/p&gt;

</ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock>
    <ecd:CompActuallyPaidVsNetIncomeTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000085">&lt;p id="xdx_89F_eecd--CompActuallyPaidVsNetIncomeTextBlock_dU_zxqtytEd5C2g" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;b&gt;CAP
and Net Income&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0pt; margin-bottom: 0pt"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;img alt="" src="formpre14a_004.jpg"/&gt;&#160;&lt;/span&gt;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/p&gt;

</ecd:CompActuallyPaidVsNetIncomeTextBlock>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#Fact000016"
          xlink:label="Fact000016"
          xlink:type="locator"/>
        <link:footnote id="Footnote000028" xlink:label="Footnote000028" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">For
    each year shown the CEO was <xhtml:span id="xdx_90B_eecd--NamedExecutiveOfficersFnTextBlock_c20250101__20251231_zDtyArCqbpOa"><xhtml:span id="xdx_903_eecd--PeoName_c20250101__20251231_zJMjeYST6Xca"><xhtml:span id="xdx_906_eecd--PeoName_c20240101__20241231_z6kT7B6FStC8">Dwight Egan</xhtml:span></xhtml:span></xhtml:span>.</link:footnote>
        <link:footnote id="Footnote000032" xlink:label="Footnote000032" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">Amounts
    in this column represent the &#x201c;Total&#x201d; column set forth above in the Summary Compensation Table (&#x201c;SCT&#x201d;). See
    the footnotes to the SCT for further detail regarding the amounts in these columns.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000016"
          xlink:to="Footnote000032"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000016"
          xlink:to="Footnote000028"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact000017"
          xlink:label="Fact000017"
          xlink:type="locator"/>
        <link:footnote id="Footnote000033" xlink:label="Footnote000033" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:span id="xdx_900_eecd--Additional402vDisclosureTextBlock_c20250101__20251231_z0PaaXujY0Sf">The
    dollar amounts reported in these columns represent the amounts of &#x201c;compensation actually paid.&#x201d; The Amounts are computed
    in accordance with Item 402(v) of Regulation S-K by deducting and adding the following amounts from the &#x201c;Total&#x201d; column
    of the SCT (pursuant to SEC rules, fair value at each measurement date is computed in a manner consistent with the fair value methodology
    used to account for share-based payments in our financial statements under GAAP)</xhtml:span>.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000017"
          xlink:to="Footnote000028"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000017"
          xlink:to="Footnote000033"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact000022"
          xlink:label="Fact000022"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000022"
          xlink:to="Footnote000032"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000022"
          xlink:to="Footnote000028"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact000023"
          xlink:label="Fact000023"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000023"
          xlink:to="Footnote000028"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000023"
          xlink:to="Footnote000033"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact000018"
          xlink:label="Fact000018"
          xlink:type="locator"/>
        <link:footnote id="Footnote000035" xlink:label="Footnote000035" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">During
    2025 and 2024, there were two Non-CEO NEO&#x2019;s, Brian Brown, CFO, and Richard Abbott, President.</link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000018"
          xlink:to="Footnote000032"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000018"
          xlink:to="Footnote000035"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact000024"
          xlink:label="Fact000024"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000024"
          xlink:to="Footnote000032"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000024"
          xlink:to="Footnote000035"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact000019"
          xlink:label="Fact000019"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000019"
          xlink:to="Footnote000035"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000019"
          xlink:to="Footnote000033"
          xlink:type="arc"/>
        <link:loc
          xlink:href="#Fact000025"
          xlink:label="Fact000025"
          xlink:type="locator"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000025"
          xlink:to="Footnote000035"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="Fact000025"
          xlink:to="Footnote000033"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
