XML 28 R2.htm IDEA: XBRL DOCUMENT
v3.26.1

Pay vs Performance Disclosure | 12 Months Ended
--- | ---
Dec. 31, 2025 USD ($) | Dec. 31, 2024 USD ($) | Dec. 31, 2023 USD ($) | Dec. 31, 2022 USD ($) | Dec. 31, 2021 USD ($)
Pay vs Performance Disclosure |  |  |  |  |
Pay vs Performance Disclosure, Table | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | Average | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | Summary | ​ | Average | ​ | Value of Initial Fixed $100 | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | Compensation | ​ | Compensation | ​ | Investment Based on: | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | Summary | ​ | ​ | ​ | Table Total for | ​ | Actually Paid to | ​ | Total | ​ | Peer Group | ​ | ​ | ​ | ​ | ​ | SG&A
​ | ​ | Compensation | ​ | Compensation | ​ | Non-PEO Named | ​ | Non-PEO Named | ​ | Shareholder | ​ | Total | ​ | ​ | ​ | Adjusted | ​ | Percentage
​ | ​ | Table Total | ​ | Actually Paid | ​ | Executive | ​ | Executive | ​ | Return | ​ | Shareholder | ​ | Net | ​ | Net | ​ | of
Year | ​ | for PEO(1) ($) | ​ | to PEO(2) ($) | ​ | Officers(1) ($) | ​ | Officers(2) ($) | ​ | (TSR) ($) | ​ | Return(3) ($) | ​ | Income ($) | ​ | Income(4) ($) | ​ | Billings(5)
2025 | ​ | 7,502,050 | ​ | 5,738,500 | ​ | 3,379,430 | ​ | 2,848,822 | ​ | 129.07 | ​ | 187.14 | ​ | 83,722,000 | ​ | 88,149,000 | ​ | ​ | ​
2024 | ​ | 5,075,653 | ​ | 5,661,803 | ​ | 2,078,325 | ​ | 2,238,376 | ​ | 153.36 | ​ | 154.48 | ​ | 87,095,000 | ​ | ​ | ​ | 10.54 | %
2023 | ​ | 1,915,864 | ​ | 5,357,164 | ​ | 603,320 | ​ | 1,096,862 | ​ | 147.95 | ​ | 119.22 | ​ | 83,271,000 | ​ | ​ | ​ | 11.03 | %
2022 | ​ | 4,787,929 | ​ | 5,547,279 | ​ | 1,338,317 | ​ | 1,416,376 | ​ | 102.57 | ​ | 82.43 | ​ | 89,219,000 | ​ | ​ | ​ | 10.46 | %
2021 | ​ | 3,209,550 | ​ | 2,339,350 | ​ | 1,802,672 | ​ | 1,649,422 | ​ | 93.75 | ​ | 122.18 | ​ | 69,906,000 | ​ | ​ | ​ | 10.34 | %
(1) | Our PEO was Timothy McGrath for all years presented in the table. Our NEOs other than our PEO were Thomas Baker and Patricia Gallup for all years presented in the table.
​
(2) | The following table describes the adjustments, each of which is prescribed by SEC rule, to calculate the CAP Amounts from the SCT Amounts. The SCT Amounts and the CAP Amounts do not reflect the actual amount of compensation earned by or paid to our executives during the applicable years, but rather are amounts determined in accordance with Item 402 of Regulation S-K under the Exchange Act.
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | PEO
​ | ​ ​ | 2025 | ​ ​ | 2024 | ​ ​ | 2023 | ​ ​ | 2022 | ​ ​ | 2021
Total Compensation from SCT | ​ | $ | 7,502,050 | ​ | $ | 5,075,653 | ​ | $ | 1,915,864 | ​ | $ | 4,787,929 | ​ | $ | 3,209,550
Decrease for aggregate value for stock awards and option awards included in SCT for the covered fiscal year | ​ | ​ | (5,037,600) | ​ | ​ | (2,569,200) | ​ | ​ | — | ​ | ​ | (2,165,200) | ​ | ​ | (887,200)
Increase for fair value at year end of awards granted during the covered fiscal year that were outstanding and unvested at the covered fiscal year end | ​ | ​ | 4,620,800 | ​ | ​ | 2,770,800 | ​ | ​ | — | ​ | ​ | 1,876,000 | ​ | ​ | 862,600
Increase (decrease) in year-over-year change in fair value at covered fiscal year end of awards granted in any prior fiscal year that were outstanding and unvested at the covered fiscal year end | ​ | ​ | (920,800) | ​ | ​ | 195,700 | ​ | ​ | 2,944,950 | ​ | ​ | 603,200 | ​ | ​ | (790,400)
Increase for vesting date fair value of awards granted and vested during the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Increase (decrease) in change as of the vesting date (from the end of the prior fiscal year) in fair value of awards granted in any prior fiscal year for which vesting conditions were satisfied during the covered fiscal year | ​ | ​ | (425,950) | ​ | ​ | 188,850 | ​ | ​ | 496,350 | ​ | ​ | 445,350 | ​ | ​ | (55,200)
Decrease for fair value at end of prior fiscal year of awards granted in any prior fiscal year that failed to meet the applicable vesting conditions during the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Increase for dividends or other earnings paid on stock or option awards in the covered fiscal year prior to vesting if not otherwise included in the total compensation for the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Compensation Actually Paid | ​ | $ | 5,738,500 | ​ | $ | 5,661,803 | ​ | $ | 5,357,164 | ​ | $ | 5,547,279 | ​ | $ | 2,339,350
​ ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | Average of NEO's
​ | ​ | 2025 | ​ ​ | 2024 | ​ ​ | 2023 | ​ ​ | 2022 | ​ ​ | 2021
Total Compensation from SCT | ​ | $ | 3,379,430 | ​ | $ | 2,078,325 | ​ | $ | 603,320 | ​ | $ | 1,338,317 | ​ | $ | 1,802,672
Decrease for aggregate value for stock awards and option awards included in SCT for the covered fiscal year | ​ | ​ | (2,595,025) | ​ | ​ | (1,284,600) | ​ | ​ | — | ​ | ​ | (541,300) | ​ | ​ | (1,074,200)
Increase for fair value at year end of awards granted during the covered fiscal year that were outstanding and unvested at the covered fiscal year end | ​ | ​ | 2,382,600 | ​ | ​ | 1,385,400 | ​ | ​ | — | ​ | ​ | 469,000 | ​ | ​ | 970,425
Increase (decrease) in year-over-year change in fair value at covered fiscal year end of awards granted in any prior fiscal year that were outstanding and unvested at the covered fiscal year end | ​ | ​ | (207,180) | ​ | ​ | 23,433 | ​ | ​ | 401,123 | ​ | ​ | 84,825 | ​ | ​ | (42,640)
Increase for vesting date fair value of awards granted and vested during the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Increase (decrease) in change as of the vesting date (from the end of the prior fiscal year) in fair value of awards granted in any prior fiscal year for which vesting conditions were satisfied during the covered fiscal year | ​ | ​ | (111,003) | ​ | ​ | 35,818 | ​ | ​ | 92,419 | ​ | ​ | 65,534 | ​ | ​ | (6,835)
Decrease for fair value at end of prior fiscal year of awards granted in any prior fiscal year that failed to meet the applicable vesting conditions during the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Increase for dividends or other earnings paid on stock or option awards in the covered fiscal year prior to vesting if not otherwise included in the total compensation for the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Compensation Actually Paid | ​ | $ | 2,848,822 | ​ | $ | 2,238,376 | ​ | $ | 1,096,862 | ​ | $ | 1,416,376 | ​ | $ | 1,649,422
​
(3) | Our peer group for the calculation of Total Shareholder Return, or TSR, is the NASDAQ Composite-Total Return.
​
(4) | Adjusted net income, a non-GAAP financial measure, is calculated as net income plus the after-tax amount of severance expenses in 2025.
​
(5) | SG&A percentage of billings, a non-GAAP financial measure, is calculated as total SG&A expenses (less any exclusions approved by the subcommittee that administered our cash performance awards, or the Subcommittee) divided by total billings of products and services delivered to customers. For 2024, we defined total billings delivered to customers as net sales plus the amounts we are required to net for sales of software and extended service plans under ASC 606. For 2023, 2022, and 2021, we defined total billings delivered to customers as net sales plus the amounts we are required to net for sales of software under ASC
| 606. In 2021, the Subcommittee approved $5 million of uncontrolled medical expenses to be excluded from total SG&A expenses.
Company Selected Measure Name | SG&A percentage of billings |  |  |  |
Named Executive Officers, Footnote |
(1) | Our PEO was Timothy McGrath for all years presented in the table. Our NEOs other than our PEO were Thomas Baker and Patricia Gallup for all years presented in the table.
Peer Group Issuers, Footnote |
(3) | Our peer group for the calculation of Total Shareholder Return, or TSR, is the NASDAQ Composite-Total Return.
PEO Total Compensation Amount | $ 7,502,050 | $ 5,075,653 | $ 1,915,864 | $ 4,787,929 | $ 3,209,550
PEO Actually Paid Compensation Amount | $ 5,738,500 | 5,661,803 | 5,357,164 | 5,547,279 | 2,339,350
Adjustment To PEO Compensation, Footnote | ​
(2) | The following table describes the adjustments, each of which is prescribed by SEC rule, to calculate the CAP Amounts from the SCT Amounts. The SCT Amounts and the CAP Amounts do not reflect the actual amount of compensation earned by or paid to our executives during the applicable years, but rather are amounts determined in accordance with Item 402 of Regulation S-K under the Exchange Act.
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | PEO
​ | ​ ​ | 2025 | ​ ​ | 2024 | ​ ​ | 2023 | ​ ​ | 2022 | ​ ​ | 2021
Total Compensation from SCT | ​ | $ | 7,502,050 | ​ | $ | 5,075,653 | ​ | $ | 1,915,864 | ​ | $ | 4,787,929 | ​ | $ | 3,209,550
Decrease for aggregate value for stock awards and option awards included in SCT for the covered fiscal year | ​ | ​ | (5,037,600) | ​ | ​ | (2,569,200) | ​ | ​ | — | ​ | ​ | (2,165,200) | ​ | ​ | (887,200)
Increase for fair value at year end of awards granted during the covered fiscal year that were outstanding and unvested at the covered fiscal year end | ​ | ​ | 4,620,800 | ​ | ​ | 2,770,800 | ​ | ​ | — | ​ | ​ | 1,876,000 | ​ | ​ | 862,600
Increase (decrease) in year-over-year change in fair value at covered fiscal year end of awards granted in any prior fiscal year that were outstanding and unvested at the covered fiscal year end | ​ | ​ | (920,800) | ​ | ​ | 195,700 | ​ | ​ | 2,944,950 | ​ | ​ | 603,200 | ​ | ​ | (790,400)
Increase for vesting date fair value of awards granted and vested during the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Increase (decrease) in change as of the vesting date (from the end of the prior fiscal year) in fair value of awards granted in any prior fiscal year for which vesting conditions were satisfied during the covered fiscal year | ​ | ​ | (425,950) | ​ | ​ | 188,850 | ​ | ​ | 496,350 | ​ | ​ | 445,350 | ​ | ​ | (55,200)
Decrease for fair value at end of prior fiscal year of awards granted in any prior fiscal year that failed to meet the applicable vesting conditions during the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Increase for dividends or other earnings paid on stock or option awards in the covered fiscal year prior to vesting if not otherwise included in the total compensation for the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Compensation Actually Paid | ​ | $ | 5,738,500 | ​ | $ | 5,661,803 | ​ | $ | 5,357,164 | ​ | $ | 5,547,279 | ​ | $ | 2,339,350
Non-PEO NEO Average Total Compensation Amount | $ 3,379,430 | 2,078,325 | 603,320 | 1,338,317 | 1,802,672
Non-PEO NEO Average Compensation Actually Paid Amount | $ 2,848,822 | 2,238,376 | 1,096,862 | 1,416,376 | 1,649,422
Adjustment to Non-PEO NEO Compensation Footnote |
(2) | The following table describes the adjustments, each of which is prescribed by SEC rule, to calculate the CAP Amounts from the SCT Amounts. The SCT Amounts and the CAP Amounts do not reflect the actual amount of compensation earned by or paid to our executives during the applicable years, but rather are amounts determined in accordance with Item 402 of Regulation S-K under the Exchange Act.
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | Average of NEO's
​ | ​ | 2025 | ​ ​ | 2024 | ​ ​ | 2023 | ​ ​ | 2022 | ​ ​ | 2021
Total Compensation from SCT | ​ | $ | 3,379,430 | ​ | $ | 2,078,325 | ​ | $ | 603,320 | ​ | $ | 1,338,317 | ​ | $ | 1,802,672
Decrease for aggregate value for stock awards and option awards included in SCT for the covered fiscal year | ​ | ​ | (2,595,025) | ​ | ​ | (1,284,600) | ​ | ​ | — | ​ | ​ | (541,300) | ​ | ​ | (1,074,200)
Increase for fair value at year end of awards granted during the covered fiscal year that were outstanding and unvested at the covered fiscal year end | ​ | ​ | 2,382,600 | ​ | ​ | 1,385,400 | ​ | ​ | — | ​ | ​ | 469,000 | ​ | ​ | 970,425
Increase (decrease) in year-over-year change in fair value at covered fiscal year end of awards granted in any prior fiscal year that were outstanding and unvested at the covered fiscal year end | ​ | ​ | (207,180) | ​ | ​ | 23,433 | ​ | ​ | 401,123 | ​ | ​ | 84,825 | ​ | ​ | (42,640)
Increase for vesting date fair value of awards granted and vested during the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Increase (decrease) in change as of the vesting date (from the end of the prior fiscal year) in fair value of awards granted in any prior fiscal year for which vesting conditions were satisfied during the covered fiscal year | ​ | ​ | (111,003) | ​ | ​ | 35,818 | ​ | ​ | 92,419 | ​ | ​ | 65,534 | ​ | ​ | (6,835)
Decrease for fair value at end of prior fiscal year of awards granted in any prior fiscal year that failed to meet the applicable vesting conditions during the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Increase for dividends or other earnings paid on stock or option awards in the covered fiscal year prior to vesting if not otherwise included in the total compensation for the covered fiscal year | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | — | ​ | ​ | —
Compensation Actually Paid | ​ | $ | 2,848,822 | ​ | $ | 2,238,376 | ​ | $ | 1,096,862 | ​ | $ | 1,416,376 | ​ | $ | 1,649,422
Compensation Actually Paid vs. Total Shareholder Return |  |  |  |  |
Compensation Actually Paid vs. Net Income |  |  |  |  |
Compensation Actually Paid vs. Company Selected Measure |  |  |  |  |
Total Shareholder Return Vs Peer Group |  |  |  |  |
Tabular List, Table | The following lists the financial performance measures that, in our assessment, represent the most important performance measures we use to link the CAP Amounts for our named executive officers for 2025 (our most recently completed fiscal year), to company performance: ​ Company Performance Measures ​
​
Adjusted net income
SG&A percentage of billings
​ Of these measures, we have identified adjusted net income as the most important of our financial performance measures used to link CAP Amounts for our executives for 2025 to company performance. |  |  |  |
Total Shareholder Return Amount | $ 129.07 | 153.36 | 147.95 | 102.57 | 93.75
Peer Group Total Shareholder Return Amount | 187.14 | 154.48 | 119.22 | 82.43 | 122.18
Net Income (Loss) | $ 83,722,000 | $ 87,095,000 | $ 83,271,000 | $ 89,219,000 | $ 69,906,000
Company Selected Measure Amount |  | 10.54 | 11.03 | 10.46 | 10.34
PEO Name | Timothy McGrath |  |  |  |
Adjusted Net Income (Loss) | $ 88,149,000 |  |  |  |
Measure:: 1 |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Name | Adjusted net income |  |  |  |
Measure:: 2 |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Name | SG&A percentage of billings |  |  |  |
Non-GAAP Measure Description | ​
(5) | SG&A percentage of billings, a non-GAAP financial measure, is calculated as total SG&A expenses (less any exclusions approved by the subcommittee that administered our cash performance awards, or the Subcommittee) divided by total billings of products and services delivered to customers. For 2024, we defined total billings delivered to customers as net sales plus the amounts we are required to net for sales of software and extended service plans under ASC 606. For 2023, 2022, and 2021, we defined total billings delivered to customers as net sales plus the amounts we are required to net for sales of software under ASC
| 606. In 2021, the Subcommittee approved $5 million of uncontrolled medical expenses to be excluded from total SG&A expenses.
PEO | Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Adjustment to Compensation, Amount | $ (5,037,600) | $ (2,569,200) |  | $ (2,165,200) | $ (887,200)
PEO | Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Adjustment to Compensation, Amount | 4,620,800 | 2,770,800 |  | 1,876,000 | 862,600
PEO | Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Adjustment to Compensation, Amount | (920,800) | 195,700 | $ 2,944,950 | 603,200 | (790,400)
PEO | Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Adjustment to Compensation, Amount | (425,950) | 188,850 | 496,350 | 445,350 | (55,200)
Non-PEO NEO | Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Adjustment to Compensation, Amount | (2,595,025) | (1,284,600) |  | (541,300) | (1,074,200)
Non-PEO NEO | Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Adjustment to Compensation, Amount | 2,382,600 | 1,385,400 |  | 469,000 | 970,425
Non-PEO NEO | Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Adjustment to Compensation, Amount | (207,180) | 23,433 | 401,123 | 84,825 | (42,640)
Non-PEO NEO | Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year |  |  |  |  |
Pay vs Performance Disclosure |  |  |  |  |
Adjustment to Compensation, Amount | $ (111,003) | $ 35,818 | $ 92,419 | $ 65,534 | $ (6,835)

X
- Definition The portion of profit or loss for the period, adjusted net of income taxes. + References No definition available. + Details
Name: | cnxn_AdjustedNetIncomeLoss
Namespace Prefix: | cnxn_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToNonPeoNeoCompFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_AdjToPeoCompFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_CoSelectedMeasureAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:decimalItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_CoSelectedMeasureName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph iii + Details
Name: | ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph ii + Details
Name: | ecd_CompActuallyPaidVsNetIncomeTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph i + Details
Name: | ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_MeasureName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_NamedExecutiveOfficersFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph vi + Details
Name: | ecd_NonGaapMeasureDescriptionTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iii + Details
Name: | ecd_NonPeoNeoAvgCompActuallyPaidAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph ii + Details
Name: | ecd_NonPeoNeoAvgTotalCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_PeerGroupIssuersFnTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_PeerGroupTotalShareholderRtnAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iii + Details
Name: | ecd_PeoActuallyPaidCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 3 + Details
Name: | ecd_PeoName
Namespace Prefix: | ecd_
Data Type: | xbrli:normalizedStringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph ii + Details
Name: | ecd_PeoTotalCompAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 1 + Details
Name: | ecd_PvpTable
Namespace Prefix: | ecd_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 1 + Details
Name: | ecd_PvpTableTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 6 + Details
Name: | ecd_TabularListTableTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 2 -Subparagraph iv + Details
Name: | ecd_TotalShareholderRtnAmt
Namespace Prefix: | ecd_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher SEC -Name Regulation S-K -Number 229 -Section 402 -Subsection v -Paragraph 5 -Subparagraph iv + Details
Name: | ecd_TotalShareholderRtnVsPeerGroupTextBlock
Namespace Prefix: | ecd_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 946 -SubTopic 830 -Name Accounting Standards Codification -Section 55 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 220 -SubTopic 40 -Name Accounting Standards Codification -Section 55 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 220 -SubTopic 40 -Name Accounting Standards Codification -Section 55 -Paragraph 21 -Publisher FASB -URI https://asc.fasb.org/1943274/2147476153/220-40-55-21 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 220 -SubTopic 40 -Name Accounting Standards Codification -Section 55 -Paragraph 14 -Publisher FASB -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-1 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(g)(1)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(k)(2)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 825 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 28 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 480 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479857/480-10-S50-3 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 480 -SubTopic 10 -Name Accounting Standards Codification -Section S45 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479887/480-10-S45-3 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 480 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3A -Subparagraph (24)(d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-3A Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 105 -SubTopic 10 -Name Accounting Standards Codification -Section 65 -Paragraph 9 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479343/105-10-65-9 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 718 -SubTopic 10 -Name Accounting Standards Codification -Section 65 -Paragraph 17 -Subparagraph (d)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480336/718-10-65-17 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9 Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 60 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 323 -Name Accounting Standards Codification -Section 65 -Paragraph 2 -Subparagraph (g)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2 Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(20)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(g)(1)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1 Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 323 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3 Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6 Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3 Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1 Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 40 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1 Reference 26: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8 Reference 27: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 28: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 29: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section 45 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7 Reference 30: http://www.xbrl.org/2003/role/disclosureRef -Topic 944 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(18)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1 Reference 31: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.6-07(9)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1 Reference 32: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-09(1)(d)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3 Reference 33: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 34: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 35: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 36: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 37: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 38: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 39: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 40: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(B)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 41: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 42: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 43: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 60B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B Reference 44: http://www.xbrl.org/2003/role/disclosureRef -Topic 205 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7 Reference 45: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28 Reference 46: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1A -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A Reference 47: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B Reference 48: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 20 -Name Accounting Standards Codification -Section 65 -Paragraph 4 -Subparagraph (f)(4) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481538/470-20-65-4 Reference 49: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(22)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1 + Details
Name: | us-gaap_NetIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | ecd_MeasureAxis=1
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_MeasureAxis=2
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_ExecutiveCategoryAxis=ecd_PeoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_AdjToCompAxis=ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | ecd_ExecutiveCategoryAxis=ecd_NonPeoNeoMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |