<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2026"
  xmlns:hwkn="http://www.hawkinsinc.com/20260616"
  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="hwkn-20260616.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2025-03-30</endDate>
        </period>
    </context>
    <context id="c-3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
        </entity>
        <period>
            <startDate>2023-04-03</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
        </entity>
        <period>
            <startDate>2022-04-04</startDate>
            <endDate>2023-04-02</endDate>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
        </entity>
        <period>
            <startDate>2021-03-29</startDate>
            <endDate>2022-04-03</endDate>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:DeductionForAmountsReportedUnderStockAwardsColumnInTheSummaryCompensationTableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseForFairValueOfAwardsGrantedDuringTheYearThatRemainUnvestedAsOfYearEndMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseForFairValueOfAwardsGrantedDuringYearThatVestedDuringYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseDeductionForChangeInFairValueFromPriorYearEndToCurrentYearEndOfAwardsGrantedPriorToYearThatWereOutstandingAndUnvestedAsOfYearEndMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseDeductionForChangeInFairValueFromPriorYearEndToVestingDateOfAwardsGrantedPriorToCurrentYearThatVestedDuringTheYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:DeductionForFairValueOfAwardsGrantedPriorToCurrentYearThatWereForfeitedDuringTheYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseBasedOnDividendsOrOtherEarningsPaidDuringTheYearPriorToVestingDateOfAwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:PeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:DeductionForAmountsReportedUnderStockAwardsColumnInTheSummaryCompensationTableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseForFairValueOfAwardsGrantedDuringTheYearThatRemainUnvestedAsOfYearEndMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseForFairValueOfAwardsGrantedDuringYearThatVestedDuringYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseDeductionForChangeInFairValueFromPriorYearEndToCurrentYearEndOfAwardsGrantedPriorToYearThatWereOutstandingAndUnvestedAsOfYearEndMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseDeductionForChangeInFairValueFromPriorYearEndToVestingDateOfAwardsGrantedPriorToCurrentYearThatVestedDuringTheYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:DeductionForFairValueOfAwardsGrantedPriorToCurrentYearThatWereForfeitedDuringTheYearMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <context id="c-19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000046250</identifier>
            <segment>
                <xbrldi:explicitMember dimension="ecd:AdjToCompAxis">hwkn:IncreaseBasedOnDividendsOrOtherEarningsPaidDuringTheYearPriorToVestingDateOfAwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="ecd:ExecutiveCategoryAxis">ecd:NonPeoNeoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-03-31</startDate>
            <endDate>2026-03-29</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-2">0000046250</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="c-1" id="f-3">false</dei:AmendmentFlag>
    <dei:DocumentType contextRef="c-1" id="f-4">DEF 14A</dei:DocumentType>
    <dei:EntityRegistrantName contextRef="c-1" id="f-1">HAWKINS, INC.</dei:EntityRegistrantName>
    <ecd:PvpTableTextBlock contextRef="c-1" id="f-5">&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.830%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:7.331%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.734%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.178%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.734%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.142%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:9.994%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:8.515%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.146%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="27" style="background-color:#000000;border-bottom:1pt solid #000;border-left:1pt solid #000;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#ffffff;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2026 Pay-Versus Performance Table ($)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-left:1pt solid #000;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="6" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Value of Initial Fixed $100 Investment Based on:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="6" style="border-right:1pt solid #000;border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="border-left:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Summary Compensation Table Total for PEO &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Compensation Actually Paid to PEO (1)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Average Summary Compensation Table for Non-PEO&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Average Compensation Actually Paid to Non-PEO NEOs (2)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total Shareholder Return (3)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Peer Group Total Shareholder Return (3)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-right:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Income Before Income Taxes (4)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-left:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,607,894&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,187,473&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,156,473&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,951,787&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;467.34&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113.24&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;81,547,855&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-right:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;109,340,130&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-left:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,151,261&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,293,699&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,404,840&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,177,387&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;667.97&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189.80&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,344,717&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-right:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,382,480&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-left:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,616,013&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,167,694&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,060,229&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,069,412&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;483.32&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;173.66&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75,363,461&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-right:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,145,040&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-left:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,223,409&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,242,510&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;942,164&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;973,305&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;275.81&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147.13&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,040,662&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-right:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,581,581&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;border-left:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,119,465&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,698,401&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;919,021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,484,039&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;283.76&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186.02&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;51,541,678&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#dbdbdb;border-bottom:1pt solid #000;border-right:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69,978,754&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</ecd:PvpTableTextBlock>
    <ecd:PeoTotalCompAmt contextRef="c-1" decimals="0" id="f-6" unitRef="usd">3607894</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt contextRef="c-1" decimals="0" id="f-7" unitRef="usd">6187473</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt contextRef="c-1" decimals="0" id="f-8" unitRef="usd">1156473</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt contextRef="c-1" decimals="0" id="f-9" unitRef="usd">1951787</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt contextRef="c-1" decimals="2" id="f-10" unitRef="usd">467.34</ecd:TotalShareholderRtnAmt>
    <ecd:PeerGroupTotalShareholderRtnAmt contextRef="c-1" decimals="2" id="f-11" unitRef="usd">113.24</ecd:PeerGroupTotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="0" id="f-12" unitRef="usd">81547855</us-gaap:NetIncomeLoss>
    <ecd:CoSelectedMeasureAmt contextRef="c-1" decimals="0" id="f-13" unitRef="usd">109340130</ecd:CoSelectedMeasureAmt>
    <ecd:PeoTotalCompAmt contextRef="c-2" decimals="0" id="f-14" unitRef="usd">3151261</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt contextRef="c-2" decimals="0" id="f-15" unitRef="usd">5293699</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt contextRef="c-2" decimals="0" id="f-16" unitRef="usd">1404840</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt contextRef="c-2" decimals="0" id="f-17" unitRef="usd">2177387</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt contextRef="c-2" decimals="2" id="f-18" unitRef="usd">667.97</ecd:TotalShareholderRtnAmt>
    <ecd:PeerGroupTotalShareholderRtnAmt contextRef="c-2" decimals="2" id="f-19" unitRef="usd">189.80</ecd:PeerGroupTotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss contextRef="c-2" decimals="0" id="f-20" unitRef="usd">84344717</us-gaap:NetIncomeLoss>
    <ecd:CoSelectedMeasureAmt contextRef="c-2" decimals="0" id="f-21" unitRef="usd">114382480</ecd:CoSelectedMeasureAmt>
    <ecd:PeoTotalCompAmt contextRef="c-3" decimals="0" id="f-22" unitRef="usd">2616013</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt contextRef="c-3" decimals="0" id="f-23" unitRef="usd">5167694</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt contextRef="c-3" decimals="0" id="f-24" unitRef="usd">1060229</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt contextRef="c-3" decimals="0" id="f-25" unitRef="usd">2069412</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt contextRef="c-3" decimals="2" id="f-26" unitRef="usd">483.32</ecd:TotalShareholderRtnAmt>
    <ecd:PeerGroupTotalShareholderRtnAmt contextRef="c-3" decimals="2" id="f-27" unitRef="usd">173.66</ecd:PeerGroupTotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss contextRef="c-3" decimals="0" id="f-28" unitRef="usd">75363461</us-gaap:NetIncomeLoss>
    <ecd:CoSelectedMeasureAmt contextRef="c-3" decimals="0" id="f-29" unitRef="usd">101145040</ecd:CoSelectedMeasureAmt>
    <ecd:PeoTotalCompAmt contextRef="c-4" decimals="0" id="f-30" unitRef="usd">2223409</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt contextRef="c-4" decimals="0" id="f-31" unitRef="usd">2242510</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt contextRef="c-4" decimals="0" id="f-32" unitRef="usd">942164</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt contextRef="c-4" decimals="0" id="f-33" unitRef="usd">973305</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt contextRef="c-4" decimals="2" id="f-34" unitRef="usd">275.81</ecd:TotalShareholderRtnAmt>
    <ecd:PeerGroupTotalShareholderRtnAmt contextRef="c-4" decimals="2" id="f-35" unitRef="usd">147.13</ecd:PeerGroupTotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss contextRef="c-4" decimals="0" id="f-36" unitRef="usd">60040662</us-gaap:NetIncomeLoss>
    <ecd:CoSelectedMeasureAmt contextRef="c-4" decimals="0" id="f-37" unitRef="usd">82581581</ecd:CoSelectedMeasureAmt>
    <ecd:PeoTotalCompAmt contextRef="c-5" decimals="0" id="f-38" unitRef="usd">2119465</ecd:PeoTotalCompAmt>
    <ecd:PeoActuallyPaidCompAmt contextRef="c-5" decimals="0" id="f-39" unitRef="usd">3698401</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt contextRef="c-5" decimals="0" id="f-40" unitRef="usd">919021</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt contextRef="c-5" decimals="0" id="f-41" unitRef="usd">1484039</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
    <ecd:TotalShareholderRtnAmt contextRef="c-5" decimals="2" id="f-42" unitRef="usd">283.76</ecd:TotalShareholderRtnAmt>
    <ecd:PeerGroupTotalShareholderRtnAmt contextRef="c-5" decimals="2" id="f-43" unitRef="usd">186.02</ecd:PeerGroupTotalShareholderRtnAmt>
    <us-gaap:NetIncomeLoss contextRef="c-5" decimals="0" id="f-44" unitRef="usd">51541678</us-gaap:NetIncomeLoss>
    <ecd:CoSelectedMeasureAmt contextRef="c-5" decimals="0" id="f-45" unitRef="usd">69978754</ecd:CoSelectedMeasureAmt>
    <ecd:PeoTotalCompAmt contextRef="c-1" decimals="0" id="f-46" unitRef="usd">3607894</ecd:PeoTotalCompAmt>
    <ecd:AdjToCompAmt contextRef="c-6" decimals="0" id="f-47" unitRef="usd">-2062393</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-7" decimals="0" id="f-48" unitRef="usd">2576000</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-8" decimals="0" id="f-49" unitRef="usd">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-9" decimals="0" id="f-50" unitRef="usd">2037006</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-10" decimals="0" id="f-51" unitRef="usd">-4260</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-11" decimals="0" id="f-52" unitRef="usd">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-12" decimals="0" id="f-53" unitRef="usd">33226</ecd:AdjToCompAmt>
    <ecd:PeoActuallyPaidCompAmt contextRef="c-1" decimals="0" id="f-54" unitRef="usd">6187473</ecd:PeoActuallyPaidCompAmt>
    <ecd:NonPeoNeoAvgTotalCompAmt contextRef="c-1" decimals="0" id="f-55" unitRef="usd">1156473</ecd:NonPeoNeoAvgTotalCompAmt>
    <ecd:AdjToCompAmt contextRef="c-13" decimals="0" id="f-56" unitRef="usd">-424206</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-14" decimals="0" id="f-57" unitRef="usd">529804</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-15" decimals="0" id="f-58" unitRef="usd">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-16" decimals="0" id="f-59" unitRef="usd">680219</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-17" decimals="0" id="f-60" unitRef="usd">-1598</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-18" decimals="0" id="f-61" unitRef="usd">0</ecd:AdjToCompAmt>
    <ecd:AdjToCompAmt contextRef="c-19" decimals="0" id="f-62" unitRef="usd">11095</ecd:AdjToCompAmt>
    <ecd:NonPeoNeoAvgCompActuallyPaidAmt contextRef="c-1" decimals="0" id="f-63" unitRef="usd">1951787</ecd:NonPeoNeoAvgCompActuallyPaidAmt>
</xbrl>
