<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:cpss="http://consumerportfolio.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:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="cpss-20251231.xsd" xlink:type="simple"/>
    <context id="From2025-01-01to2025-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</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">0000889609</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-012023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember</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="From2024-01-012024-12-31_ecd_PeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember</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="From2023-01-012023-12-31_ecd_PeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember</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_NonPeoNeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember</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="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember</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="From2024-01-012024-12-31_ecd_PeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember</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="From2023-01-012023-12-31_ecd_PeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember</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_NonPeoNeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember</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="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember</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="From2024-01-012024-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember</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="From2023-01-012023-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember</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_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember</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="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember</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="From2024-01-012024-12-31_ecd_PeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember</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="From2023-01-012023-12-31_ecd_PeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember</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_NonPeoNeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember</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="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember</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="From2024-01-012024-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember</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="From2023-01-012023-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember</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_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember</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="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_PeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember</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="From2024-01-012024-12-31_ecd_PeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember</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="From2023-01-012023-12-31_ecd_PeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember</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_NonPeoNeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember</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="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">cpss:SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-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">0000889609</dei:EntityCentralIndexKey>
    <dei:DocumentType contextRef="From2025-01-01to2025-12-31" id="xdx2ixbrl0010">DEF 14A</dei:DocumentType>
    <dei:EntityRegistrantName contextRef="From2025-01-01to2025-12-31" id="Fact000011">CONSUMER PORTFOLIO SERVICES, INC.</dei:EntityRegistrantName>
    <ecd:AwardTmgMnpiDiscTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000017">&lt;i&gt;Grant of Options&lt;/i&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;The Compensation Committee&#x2019;s award of stock options to the Company&#x2019;s
officers in 2025 included option grants to the Chief Executive Officer and the other named executive officers. In determining the appropriate
level of such grant, the Compensation Committee considered the long-term performance of the Chief Executive Officer and the desirability
of providing significant incentive for future performance, as well as the desirability of ensuring that officer&#x2019;s continued retention
by the Company, and the various factors noted above with respect to option grants generally. These grants and the Committee&#x2019;s administration
of the long-term incentive element of compensation are discussed in detail below, under the heading &#x201c;Grants of Plan-Based Awards
in 2025 &#x2013; Equity Incentives.&#x201d;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIEF3YXJkIFRpbWluZyBEaXNjbG9zdXJlAA__" id="xdx_907_eecd--AwardTmgHowMnpiCnsdrdTextBlock_c20250101__20251231_zUOnHGY5xE58" title="Award Timing, How MNPI Considered"&gt;The Committee does not have a policy or practice on when to grant option
awards. The Committee does not have a policy or practice of taking into account material nonpublic information when determining the timing
and terms of option awards, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIEF3YXJkIFRpbWluZyBEaXNjbG9zdXJlAA__" id="xdx_90A_eecd--AwardTmgMnpiCnsdrdFlag_dbF_c20250101__20251231_z9gswYjYSmi2" title="Award Timing MNPI Considered"&gt;however&lt;/span&gt; if a public announcement of material information is anticipated, the grant date of such options may
be deferred at the discretion of the Committee, until after the release of such information.&lt;/span&gt; &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIEF3YXJkIFRpbWluZyBEaXNjbG9zdXJlAA__" id="xdx_90F_eecd--MnpiDiscTimedForCompValFlag_dbF_c20250101__20251231_z8Cf7iCKkN37" title="MNPI Disclosure Timed for Compensation Value"&gt;The Company does not time the disclosure
of material nonpublic information for the purpose of affecting the value of executive compensation.&lt;/span&gt;&lt;/p&gt;</ecd:AwardTmgMnpiDiscTextBlock>
    <ecd:AwardTmgHowMnpiCnsdrdTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000019">The Committee does not have a policy or practice on when to grant option
awards. The Committee does not have a policy or practice of taking into account material nonpublic information when determining the timing
and terms of option awards, &lt;span class="xdx_phnt_RGlzY2xvc3VyZSAtIEF3YXJkIFRpbWluZyBEaXNjbG9zdXJlAA__" id="xdx_90A_eecd--AwardTmgMnpiCnsdrdFlag_dbF_c20250101__20251231_z9gswYjYSmi2" title="Award Timing MNPI Considered"&gt;however&lt;/span&gt; if a public announcement of material information is anticipated, the grant date of such options may
be deferred at the discretion of the Committee, until after the release of such information.</ecd:AwardTmgHowMnpiCnsdrdTextBlock>
    <ecd:AwardTmgMnpiCnsdrdFlag contextRef="From2025-01-01to2025-12-31" id="Fact000021">false</ecd:AwardTmgMnpiCnsdrdFlag>
    <ecd:MnpiDiscTimedForCompValFlag contextRef="From2025-01-01to2025-12-31" id="Fact000023">false</ecd:MnpiDiscTimedForCompValFlag>
    <ecd:InsiderTrdPoliciesProcAdoptedFlag contextRef="From2025-01-01to2025-12-31" id="Fact000024">true</ecd:InsiderTrdPoliciesProcAdoptedFlag>
    <ecd:PvpTableTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000026">&lt;table cellpadding="0" cellspacing="0" id="xdx_883_eecd--PvpTableTextBlock_zQWsUnaf3PWf" 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; background-color: White"&gt;
    &lt;td style="font-weight: bold; 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;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"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Year&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Summary Compensation Table Total for PEO (1)&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Compensation Actually Paid to PEO (1) (2)&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Average Summary Compensation Table Total for Non-PEO NEOs (1)&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Average Compensation Actually Paid to Non-PEO NEOs (1)(2)&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Value of Initial Fixed $100 Investment Based On:&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;Net Income&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&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: center"&gt;Total Shareholder Return (3)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid"&gt;(a)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;(b)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;(c)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;(d)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;(e)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;(f)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"&gt;(g)&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(238,238,238)"&gt;
    &lt;td style="width: 16%; font-weight: bold; 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;$&lt;/td&gt;&lt;td id="xdx_987_eecd--PeoTotalCompAmt_c20250101__20251231_zSn7s2KuljKi" style="width: 10%; text-align: right" title="Summary Compensation Total for PEO"&gt;5,439,647&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 id="xdx_98F_eecd--PeoActuallyPaidCompAmt_c20250101__20251231_zYcUX4WUjgil" style="width: 10%; text-align: right" title="Compensation Actually Paid to PEO"&gt;3,860,394&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 id="xdx_98C_eecd--NonPeoNeoAvgTotalCompAmt_c20250101__20251231_z1lqfbafCx0h" style="width: 10%; text-align: right" title="Average Total Compensation Amount for Non-PEO NEO"&gt;1,320,719&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 id="xdx_98A_eecd--NonPeoNeoAvgCompActuallyPaidAmt_c20250101__20251231_zho7JMoGScQk" style="width: 10%; text-align: right" title="Average Compensation Actually Paid Amount for Non-PEO NEO"&gt;1,040,259&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 id="xdx_98B_eecd--TotalShareholderRtnAmt_pp2p0_c20250101__20251231_zFflsxuTIIoe" style="width: 10%; text-align: right" title="Total Shareholder Return Amount"&gt;105.42&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 id="xdx_98F_eus-gaap--NetIncomeLoss_c20250101__20251231_zmTcYRVQhMqf" style="width: 10%; text-align: right" title="Net Income"&gt;19,325,000&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="font-weight: bold; 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 id="xdx_981_eecd--PeoTotalCompAmt_c20240101__20241231_zT2iRnq5f9rk" style="text-align: right" title="Summary Compensation Total for PEO"&gt;4,165,611&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 id="xdx_989_eecd--PeoActuallyPaidCompAmt_c20240101__20241231_zQefoGIjMVy" style="text-align: right" title="Compensation Actually Paid to PEO"&gt;3,258,651&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 id="xdx_988_eecd--NonPeoNeoAvgTotalCompAmt_c20240101__20241231_zrqtEmely0Qg" style="text-align: right" title="Average Total Compensation Amount for Non-PEO NEO"&gt;839,162&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 id="xdx_988_eecd--NonPeoNeoAvgCompActuallyPaidAmt_c20240101__20241231_zgFGUmFJuOk7" style="text-align: right" title="Average Compensation Actually Paid Amount for Non-PEO NEO"&gt;758,397&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 id="xdx_982_eecd--TotalShareholderRtnAmt_pp2p0_c20240101__20241231_zOMweoDnNPR4" style="text-align: right" title="Total Shareholder Return Amount"&gt;122.71&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 id="xdx_98D_eus-gaap--NetIncomeLoss_c20240101__20241231_zQT8GZuYntg8" style="text-align: right" title="Net Income"&gt;19,203,000&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(238,238,238)"&gt;
    &lt;td style="font-weight: bold; text-align: left"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eecd--PeoTotalCompAmt_c20230101__20231231_z6ARMn2JT4oe" style="text-align: right" title="Summary Compensation Total for PEO"&gt;4,000,342&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 id="xdx_98A_eecd--PeoActuallyPaidCompAmt_c20230101__20231231_zMNNcYq4FZJe" style="text-align: right" title="Compensation Actually Paid to PEO"&gt;4,586,692&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 id="xdx_989_eecd--NonPeoNeoAvgTotalCompAmt_c20230101__20231231_zlJeYZbeG2E4" style="text-align: right" title="Average Total Compensation Amount for Non-PEO NEO"&gt;836,241&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 id="xdx_983_eecd--NonPeoNeoAvgCompActuallyPaidAmt_c20230101__20231231_zf9NvLMkrJhe" style="text-align: right" title="Average Compensation Actually Paid Amount for Non-PEO NEO"&gt;998,575&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 id="xdx_98F_eecd--TotalShareholderRtnAmt_pp2p0_c20230101__20231231_zklHEVAZUzF9" style="text-align: right" title="Total Shareholder Return Amount"&gt;105.88&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 id="xdx_98F_eus-gaap--NetIncomeLoss_c20230101__20231231_zWi7rQpPm0X2" style="text-align: right" title="Net Income"&gt;45,343,000&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</ecd:PvpTableTextBlock>
    <ecd:PeoTotalCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000028"
      unitRef="USD">5439647</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000030"
      unitRef="USD">3860394</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000032"
      unitRef="USD">1320719</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000034"
      unitRef="USD">1040259</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="2"
      id="Fact000036"
      unitRef="USD">105.42</ecd:TotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000038"
      unitRef="USD">19325000</us-gaap:NetIncomeLoss>
    <ecd:PeoTotalCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000040"
      unitRef="USD">4165611</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000042"
      unitRef="USD">3258651</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000044"
      unitRef="USD">839162</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000046"
      unitRef="USD">758397</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt
      contextRef="From2024-01-012024-12-31"
      decimals="2"
      id="Fact000048"
      unitRef="USD">122.71</ecd:TotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000050"
      unitRef="USD">19203000</us-gaap:NetIncomeLoss>
    <ecd:PeoTotalCompAmt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000052"
      unitRef="USD">4000342</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000054"
      unitRef="USD">4586692</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000056"
      unitRef="USD">836241</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000058"
      unitRef="USD">998575</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt
      contextRef="From2023-01-012023-12-31"
      decimals="2"
      id="Fact000060"
      unitRef="USD">105.88</ecd:TotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000062"
      unitRef="USD">45343000</us-gaap:NetIncomeLoss>
    <ecd:NamedExecutiveOfficersFnTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000064">&lt;p id="xdx_84D_eecd--NamedExecutiveOfficersFnTextBlock_dU_ztmjCtUVbdK4" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&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="vertical-align: top"&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 3%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(1)&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 96%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;In each year identified, our PEO was &lt;span id="xdx_906_eecd--PeoName_c20250101__20251231_zVBsHo22anS6"&gt;&lt;span id="xdx_905_eecd--PeoName_c20240101__20241231_zWzn2fdbFjfg"&gt;&lt;span id="xdx_90C_eecd--PeoName_c20230101__20231231_zdaJm6wu3nVd"&gt;Mr. Bradley&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;. For the fiscal year ended December 31, 2025, our non-PEO NEOs were Mr. Lavin and Mr. Bharwani. For the fiscal year ended December 31, 2024, our non-PEO NEOs were Mr. Lavin, Mr. Bharwani, Ms. Robinson, and Mr. Terry. For the fiscal year ended December 31, 2023, our non-PEO NEOs were Mr. Lavin, Mr. Bharwani, Ms. Robinson, and Ms. Laurie Straten. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr style="vertical-align: top"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;

</ecd:NamedExecutiveOfficersFnTextBlock>
    <ecd:PeoName contextRef="From2025-01-01to2025-12-31" id="Fact000065">Mr. Bradley</ecd:PeoName>
    <ecd:PeoName contextRef="From2024-01-012024-12-31" id="Fact000066">Mr. Bradley</ecd:PeoName>
    <ecd:PeoName contextRef="From2023-01-012023-12-31" id="Fact000067">Mr. Bradley</ecd:PeoName>
    <ecd:AdjToPeoCompFnTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000069">&lt;p id="xdx_84B_eecd--AdjToPeoCompFnTextBlock_dU_zZC9Zscphn96" style="margin: 0"&gt;&#160;&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="vertical-align: top"&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 3%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(2)&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 96%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;The table below describes adjustments made to the calculation of CAP in accordance with Item 402(v) of Regulation S-K, to the amounts previously reported in the SCT. The adjustments are as follows:&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

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

&lt;table cellpadding="0" cellspacing="0" style="font: 9pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: center"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;PEO&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;PEO&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;PEO&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;span style="font-size: 9pt"&gt;&lt;b&gt;Average for&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;span style="font-size: 9pt"&gt;&lt;b&gt;Non-PEO NEOs&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;span style="font-size: 9pt"&gt;&lt;b&gt;Average for&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;span style="font-size: 9pt"&gt;&lt;b&gt;Non-PEO NEOs&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;td style="font-size: 10pt; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center"&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;span style="font-size: 9pt"&gt;&lt;b&gt;Average for&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&lt;span style="font-size: 9pt"&gt;&lt;b&gt;Non-PEO NEOs&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-size: 10pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1pt solid; font-weight: bold"&gt;Fiscal Year&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2024&lt;/td&gt;&lt;td style="padding-bottom: 1pt; font-weight: bold"&gt;&#160;&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center"&gt;2023&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(238,238,238)"&gt;
    &lt;td style="text-indent: -10pt; padding-left: 10pt; text-align: left; width: 34%"&gt;&lt;b&gt;Summary Compensation Table Total&lt;/b&gt;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eecd--PeoTotalCompAmt_c20250101__20251231_zXVvR3JTHuBk" style="width: 8%; text-align: right" title="Summary Compensation Total for PEO"&gt;5,439,647&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eecd--PeoTotalCompAmt_c20240101__20241231_znNFNlKj0och" style="width: 8%; text-align: right" title="Summary Compensation Total for PEO"&gt;4,165,611&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98F_eecd--PeoTotalCompAmt_d0_c20230101__20231231_zZ0RTDWdLQw5" style="width: 8%; text-align: right" title="Summary Compensation Total for PEO"&gt;4,000,342&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eecd--NonPeoNeoAvgTotalCompAmt_c20250101__20251231_zJvzjUatnvU5" style="width: 8%; text-align: right" title="Average Total Compensation Amount for Non-PEO NEO"&gt;1,320,719&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_983_eecd--NonPeoNeoAvgTotalCompAmt_c20240101__20241231_z2b5RQjZZqe" style="width: 8%; text-align: right" title="Average Total Compensation Amount for Non-PEO NEO"&gt;839,162&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98D_eecd--NonPeoNeoAvgTotalCompAmt_c20230101__20231231_znUO6qiNIYec" style="width: 8%; text-align: right" title="Average Total Compensation Amount for Non-PEO NEO"&gt;836,241&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: -10pt; padding-left: 10pt; text-align: left"&gt;Deduct Amounts Reported under the &#x201c;Option Awards&#x201d; in the SCT&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98F_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember_zCLqreMW0Mc4" style="text-align: right"&gt;(1,139,790&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;&#160;&lt;/td&gt;&lt;td id="xdx_980_eecd--AdjToCompAmt_d0_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember_zaxWVHbAOMc5" style="text-align: right"&gt;&#x2013;&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 id="xdx_985_eecd--AdjToCompAmt_d0_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember_ziZXDxFcf50a" style="text-align: right"&gt;&#x2013;&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 id="xdx_985_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember_zrxzvEokEPwi" style="text-align: right"&gt;(398,927&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;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eecd--AdjToCompAmt_d0_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember_zrIK2dJ2FV2k" style="text-align: right"&gt;&#x2013;&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 id="xdx_98C_eecd--AdjToCompAmt_d0_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember_zy4aIDCsz3Pd" style="text-align: right"&gt;&#x2013;&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(238,238,238)"&gt;
    &lt;td style="text-indent: -10pt; padding-left: 10pt; text-align: left"&gt;Add the fair value as of the end of the covered fiscal year of all awards granted during the covered fiscal year that are outstanding and unvested as of the end of the covered fiscal year&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember_zxltC2lhvma4" style="text-align: right"&gt;569,100&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 id="xdx_984_eecd--AdjToCompAmt_d0_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember_zmzdjEp33Hqa" style="text-align: right"&gt;&#x2013;&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 id="xdx_98B_eecd--AdjToCompAmt_d0_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember_zutMXkF7dxi9" style="text-align: right"&gt;&#x2013;&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 id="xdx_98C_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember_z9VJ1ubppJl9" style="text-align: right"&gt;199,185&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 id="xdx_982_eecd--AdjToCompAmt_d0_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember_z9O2W5nBXpsh" style="text-align: right"&gt;&#x2013;&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 id="xdx_983_eecd--AdjToCompAmt_d0_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember_zuQZxYEkPnxa" style="text-align: right"&gt;&#x2013;&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="text-indent: -10pt; padding-left: 10pt; text-align: left"&gt;Add the amount equal to the change as of the end of the covered fiscal year (from the end of the prior fiscal year) in fair value (whether positive or negative) of any awards granted in any prior fiscal year that are outstanding and unvested as of the end of the covered fiscal year&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_982_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember_zmf6J26nzpv5" style="text-align: right"&gt;(444,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;&#160;&lt;/td&gt;&lt;td id="xdx_987_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember_zIo3RpwNbWs5" style="text-align: right"&gt;(235,800&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;&#160;&lt;/td&gt;&lt;td id="xdx_983_eecd--AdjToCompAmt_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember_z6YQGrxVOrKh" style="text-align: right"&gt;(187,830&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;&#160;&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember_zwpo7gW2wJGk" style="text-align: right"&gt;(28,388&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;&#160;&lt;/td&gt;&lt;td id="xdx_982_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember_zNMG4STgpp4f" style="text-align: right"&gt;(7,695&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;&#160;&lt;/td&gt;&lt;td id="xdx_988_eecd--AdjToCompAmt_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember_zWblnKSYZ7t" style="text-align: right"&gt;10,655&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(238,238,238)"&gt;
    &lt;td style="text-indent: -10pt; padding-left: 10pt; text-align: left"&gt;Add, for awards that are granted and vest in the same year, the fair value as of the vesting date&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_d0_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember_zNkwn3wIqcm1" style="text-align: right"&gt;&#x2013;&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 id="xdx_987_eecd--AdjToCompAmt_d0_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember_z0kon16yiZWg" style="text-align: right"&gt;&#x2013;&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 id="xdx_984_eecd--AdjToCompAmt_d0_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember_zj2iQMATN5Yj" style="text-align: right"&gt;&#x2013;&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 id="xdx_980_eecd--AdjToCompAmt_d0_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember_zzuVHs8abI3f" style="text-align: right"&gt;&#x2013;&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 id="xdx_98C_eecd--AdjToCompAmt_d0_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember_zYjPSau81KS2" style="text-align: right"&gt;&#x2013;&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 id="xdx_988_eecd--AdjToCompAmt_d0_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember_zLE1OvOfxZef" style="text-align: right"&gt;&#x2013;&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="text-indent: -10pt; padding-left: 10pt; text-align: left"&gt;Add the amount equal to the change as of the vesting date (from the end of the prior fiscal year) in fair value (whether positive or negative) of any awards granted in any prior fiscal year for which all applicable vesting conditions were satisfied at the end of or during the covered fiscal year&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember_zpajgrTF6o14" style="text-align: right"&gt;(564,263&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;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember_zpEdpIUmSsj3" style="text-align: right"&gt;(671,160&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;&#160;&lt;/td&gt;&lt;td id="xdx_989_eecd--AdjToCompAmt_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember_z3jQqVTGVL34" style="text-align: right"&gt;774,180&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 id="xdx_981_eecd--AdjToCompAmt_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember_zLlRzvvglZ0g" style="text-align: right"&gt;(52,331&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;&#160;&lt;/td&gt;&lt;td id="xdx_980_eecd--AdjToCompAmt_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember_zIl2XUPe1WZi" style="text-align: right"&gt;(73,069&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;&#160;&lt;/td&gt;&lt;td id="xdx_98C_eecd--AdjToCompAmt_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember_z9hw8MHr4XHi" style="text-align: right"&gt;151,679&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(238,238,238)"&gt;
    &lt;td style="text-indent: -10pt; padding-left: 10pt; text-align: left"&gt;Subtract, for any awards granted in any prior fiscal year that fail to meet the applicable vesting conditions during the covered fiscal year, the amount equal to the fair value at the end of the prior fiscal year&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eecd--AdjToCompAmt_d0_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember_z2Kpb8Eqa2ia" style="border-bottom: Black 1pt solid; text-align: right"&gt;&#x2013;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98D_eecd--AdjToCompAmt_d0_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember_zx0PL8zIc0e8" style="border-bottom: Black 1pt solid; text-align: right"&gt;&#x2013;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eecd--AdjToCompAmt_d0_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--PeoMember__ecd--AdjToCompAxis__custom--SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember_zD4tZ5detwtk" style="border-bottom: Black 1pt solid; text-align: right"&gt;&#x2013;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_986_eecd--AdjToCompAmt_d0_c20250101__20251231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember_zy9zsQVs3DH4" style="border-bottom: Black 1pt solid; text-align: right"&gt;&#x2013;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_984_eecd--AdjToCompAmt_d0_c20240101__20241231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember_zeecRoXG6Pej" style="border-bottom: Black 1pt solid; text-align: right"&gt;&#x2013;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td id="xdx_98B_eecd--AdjToCompAmt_d0_c20230101__20231231__ecd--ExecutiveCategoryAxis__ecd--NonPeoNeoMember__ecd--AdjToCompAxis__custom--SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember_z9G0ZkFIMW05" style="border-bottom: Black 1pt solid; text-align: right"&gt;&#x2013;&lt;/td&gt;&lt;td style="padding-bottom: 1pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: White"&gt;
    &lt;td style="text-indent: -10pt; padding-left: 10pt; text-align: left"&gt;&lt;b&gt;Compensation Actually Paid&lt;/b&gt;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_98A_eecd--PeoActuallyPaidCompAmt_c20250101__20251231_zRsj57v8uaC4" style="border-bottom: Black 2.5pt double; text-align: right" title="Compensation Actually Paid to PEO"&gt;3,860,394&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eecd--PeoActuallyPaidCompAmt_c20240101__20241231_zAvkUxWZZink" style="border-bottom: Black 2.5pt double; text-align: right" title="Compensation Actually Paid to PEO"&gt;3,258,651&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_985_eecd--PeoActuallyPaidCompAmt_c20230101__20231231_z26iazxuByn6" style="border-bottom: Black 2.5pt double; text-align: right" title="Compensation Actually Paid to PEO"&gt;4,586,692&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_982_eecd--NonPeoNeoAvgCompActuallyPaidAmt_c20250101__20251231_zs1sqTLORW8d" style="border-bottom: Black 2.5pt double; text-align: right" title="Average Compensation Actually Paid to Non-PEO NEOs"&gt;1,040,259&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_984_eecd--NonPeoNeoAvgCompActuallyPaidAmt_c20240101__20241231_zv2aFUOZ5b44" style="border-bottom: Black 2.5pt double; text-align: right" title="Average Compensation Actually Paid to Non-PEO NEOs"&gt;758,397&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 2.5pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td id="xdx_989_eecd--NonPeoNeoAvgCompActuallyPaidAmt_c20230101__20231231_zPgxaDLrVlIf" style="border-bottom: Black 2.5pt double; text-align: right" title="Average Compensation Actually Paid to Non-PEO NEOs"&gt;998,575&lt;/td&gt;&lt;td style="padding-bottom: 2.5pt; 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="Fact000071"
      unitRef="USD">5439647</ecd:PeoTotalCompAmt>
    <ecd:PeoTotalCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000073"
      unitRef="USD">4165611</ecd:PeoTotalCompAmt>
    <ecd:PeoTotalCompAmt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000075"
      unitRef="USD">4000342</ecd:PeoTotalCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000077"
      unitRef="USD">1320719</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000079"
      unitRef="USD">839162</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000081"
      unitRef="USD">836241</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember"
      decimals="0"
      id="Fact000082"
      unitRef="USD">-1139790</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember"
      decimals="0"
      id="Fact000083"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_PeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember"
      decimals="0"
      id="Fact000084"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember"
      decimals="0"
      id="Fact000085"
      unitRef="USD">-398927</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember"
      decimals="0"
      id="Fact000086"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_DeductAmountsReportedUnderTheOptionAwardsInTheSCTMember"
      decimals="0"
      id="Fact000087"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember"
      decimals="0"
      id="Fact000088"
      unitRef="USD">569100</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember"
      decimals="0"
      id="Fact000089"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_PeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember"
      decimals="0"
      id="Fact000090"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember"
      decimals="0"
      id="Fact000091"
      unitRef="USD">199185</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember"
      decimals="0"
      id="Fact000092"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_AddTheFairValueAsOfTheEndOfTheCoveredFiscalYearOfAllAwardsGrantedDuringTheCoveredFiscalYearThatAreOutstandingAndUnvestedAsOfTheEndOfTheCoveredFiscalYearMember"
      decimals="0"
      id="Fact000093"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember"
      decimals="0"
      id="Fact000094"
      unitRef="USD">-444300</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember"
      decimals="0"
      id="Fact000095"
      unitRef="USD">-235800</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember"
      decimals="0"
      id="Fact000096"
      unitRef="USD">-187830</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember"
      decimals="0"
      id="Fact000097"
      unitRef="USD">-28388</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember"
      decimals="0"
      id="Fact000098"
      unitRef="USD">-7695</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheEndOfTheCoveredFiscalYearFromTheEndOfThePriorFiscalYearInFairValueWhetherPositiveOrNegativeOfAnyAwardsGrantedInAnyPriorFiscalYearThatAreOutstandingAndUnvestedMember"
      decimals="0"
      id="Fact000099"
      unitRef="USD">10655</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember"
      decimals="0"
      id="Fact000100"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember"
      decimals="0"
      id="Fact000101"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_PeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember"
      decimals="0"
      id="Fact000102"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember"
      decimals="0"
      id="Fact000103"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember"
      decimals="0"
      id="Fact000104"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_AddForAwardsThatAreGrantedAndVestInTheSameYearTheFairValueAsOfTheVestingDateMember"
      decimals="0"
      id="Fact000105"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember"
      decimals="0"
      id="Fact000106"
      unitRef="USD">-564263</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember"
      decimals="0"
      id="Fact000107"
      unitRef="USD">-671160</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_PeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember"
      decimals="0"
      id="Fact000108"
      unitRef="USD">774180</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember"
      decimals="0"
      id="Fact000109"
      unitRef="USD">-52331</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember"
      decimals="0"
      id="Fact000110"
      unitRef="USD">-73069</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_AddTheAmountEqualToTheChangeAsOfTheVestingDateFromTheEndOfThePriorFiscalYearInFairValueMember"
      decimals="0"
      id="Fact000111"
      unitRef="USD">151679</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_PeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember"
      decimals="0"
      id="Fact000112"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_PeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember"
      decimals="0"
      id="Fact000113"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_PeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember"
      decimals="0"
      id="Fact000114"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2025-01-012025-12-31_ecd_NonPeoNeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember"
      decimals="0"
      id="Fact000115"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2024-01-012024-12-31_ecd_NonPeoNeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember"
      decimals="0"
      id="Fact000116"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt
      contextRef="From2023-01-012023-12-31_ecd_NonPeoNeoMember_custom_SubtractForAnyAwardsGrantedInAnyPriorFiscalYearThatFailToMeetTheApplicableVestingConditionsDuringMember"
      decimals="0"
      id="Fact000117"
      unitRef="USD">0</ecd:AdjToCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000119"
      unitRef="USD">3860394</ecd:PeoActuallyPaidCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000121"
      unitRef="USD">3258651</ecd:PeoActuallyPaidCompAmt>
    <ecd:PeoActuallyPaidCompAmt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000123"
      unitRef="USD">4586692</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2025-01-01to2025-12-31"
      decimals="0"
      id="Fact000125"
      unitRef="USD">1040259</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2024-01-012024-12-31"
      decimals="0"
      id="Fact000127"
      unitRef="USD">758397</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt
      contextRef="From2023-01-012023-12-31"
      decimals="0"
      id="Fact000129"
      unitRef="USD">998575</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:PeerGroupIssuersFnTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000131">&lt;p id="xdx_84F_eecd--PeerGroupIssuersFnTextBlock_dU_zpXrfBqqQM17" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&#160;&lt;/p&gt;

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&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="vertical-align: top"&gt;
    &lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 3%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;(3)&lt;/span&gt;&lt;/td&gt;
    &lt;td style="width: 96%"&gt;&lt;span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total Shareholder Return assumes $100 was invested in our common stock on December 30, 2022 and assumes the reinvestment of dividends and is cumulative for the measurement periods beginning on that date and ending on the last fiscal day in 2025, 2024 and 2023, respectively.&#160;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;
</ecd:PeerGroupIssuersFnTextBlock>
    <ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000133">&lt;p id="xdx_848_eecd--CompActuallyPaidVsTotalShareholderRtnTextBlock_dU_zSL7aSV18fj3" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;i&gt;Relationship Between Compensation Actually Paid and Cumulative
Total Shareholder Return &lt;/i&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;The graph below shows the relationship between (i) the CAP to our PEO and
the average CAP to the non-PEO NEOs, and (ii) the Company&#x2019;s total shareholder returns across the last three completed fiscal years.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: center"&gt;&#160;&lt;img alt="" src="pic1.jpg" style="height: 427px; width: 690px"/&gt;&lt;/p&gt;

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

</ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock>
    <ecd:CompActuallyPaidVsNetIncomeTextBlock contextRef="From2025-01-01to2025-12-31" id="Fact000135">&lt;p id="xdx_848_eecd--CompActuallyPaidVsNetIncomeTextBlock_dU_zcmi0HYJLBte" style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;&lt;i&gt;Relationship Between Compensation Actually Paid and Net Income&lt;/i&gt;&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0"&gt;The graph below shows the relationship between (i) the CAP to our PEO and
the average CAP to the non-PEO NEOs, and (ii) the Company&#x2019;s net income during the last three completed fiscal years.&lt;/p&gt;

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

&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: center; margin-top: 0; margin-bottom: 0"&gt;&#160;&lt;img alt="" src="pic2.jpg" style="height: 427px; width: 690px"/&gt;&lt;/p&gt;

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

</ecd:CompActuallyPaidVsNetIncomeTextBlock>
</xbrl>
