{
 "version": "2.2",
 "instance": {
  "cofs-20260331.htm": {
   "nsprefix": "cofs",
   "nsuri": "http://www.choiceone.bank/20260331",
   "dts": {
    "inline": {
     "local": [
      "cofs-20260331.htm"
     ]
    },
    "schema": {
     "local": [
      "cofs-20260331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/2023/calculation-1.1.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2024-01-31/types.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-2025.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-roles-2025.xsd",
      "https://xbrl.fasb.org/srt/2025/elts/srt-types-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-gaap-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-roles-2025.xsd",
      "https://xbrl.fasb.org/us-gaap/2025/elts/us-types-2025.xsd",
      "https://xbrl.sec.gov/country/2025/country-2025.xsd",
      "https://xbrl.sec.gov/dei/2025/dei-2025.xsd",
      "https://xbrl.sec.gov/ecd/2025/ecd-2025.xsd",
      "https://xbrl.sec.gov/ecd/2025/ecd-sub-2025.xsd",
      "https://xbrl.sec.gov/stpr/2025/stpr-2025.xsd"
     ]
    }
   },
   "keyStandard": 330,
   "keyCustom": 96,
   "axisStandard": 33,
   "axisCustom": 0,
   "memberStandard": 60,
   "memberCustom": 41,
   "hidden": {
    "total": 17,
    "http://fasb.org/us-gaap/2025": 13,
    "http://xbrl.sec.gov/dei/2025": 4
   },
   "contextCount": 536,
   "entityCount": 1,
   "segmentCount": 103,
   "elementCount": 885,
   "unitCount": 8,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2025": 2029,
    "http://xbrl.sec.gov/dei/2025": 29,
    "http://xbrl.sec.gov/ecd/2025": 4,
    "http://fasb.org/srt/2025": 1
   },
   "report": {
    "R1": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation",
     "longName": "75000 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited",
     "longName": "75010 - Statement - Consolidated Balance Sheets (Unaudited)",
     "shortName": "Consolidated Balance Sheets (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:CashAndDueFromBanks",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:CashAndDueFromBanks",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnauditedParentheticals",
     "longName": "75020 - Statement - Consolidated Balance Sheets (Unaudited) (Parentheticals)",
     "shortName": "Consolidated Balance Sheets (Unaudited) (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited",
     "longName": "75030 - Statement - Consolidated Statements of Operations (Unaudited)",
     "shortName": "Consolidated Statements of Operations (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:InterestAndFeeIncomeLoansAndLeases",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:InterestAndFeeIncomeLoansAndLeases",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited",
     "longName": "75040 - Statement - Consolidated Statements of Comprehensive Income (Loss) (Unaudited)",
     "shortName": "Consolidated Statements of Comprehensive Income (Loss) (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited",
     "longName": "75050 - Statement - Consolidated Statements of Changes in Shareholders' Equity (Unaudited)",
     "shortName": "Consolidated Statements of Changes in Shareholders' Equity (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "C_53226735-9bdd-4ac8-8200-17bd87cda81a",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_53226735-9bdd-4ac8-8200-17bd87cda81a",
      "name": "us-gaap:CommonStockSharesOutstanding",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited-parentheticals",
     "longName": "75060 - Statement - Consolidated Statements of Changes in Shareholders' Equity (Unaudited) (Parentheticals)",
     "shortName": "Consolidated Statements of Changes in Shareholders' Equity (Unaudited) (Parentheticals)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:CommonStockDividendsPerShareDeclared",
      "unitRef": "U_UnitedStatesOfAmericaDollarsShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R8": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited",
     "longName": "75070 - Statement - Consolidated Statements of Cash Flows (Unaudited)",
     "shortName": "Consolidated Statements of Cash Flows (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:Depreciation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R9": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R10": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "ecd:NonRule10b51ArrAdoptedFlag",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "ecd:NonRule10b51ArrAdoptedFlag",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPolicies",
     "longName": "995455 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecurities1",
     "longName": "995465 - Disclosure - Securities",
     "shortName": "Securities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLosses1",
     "longName": "995475 - Disclosure - Loans and Allowance for Credit Losses",
     "shortName": "Loans and Allowance for Credit Losses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FinancingReceivablesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShare",
     "longName": "995485 - Disclosure - Earnings Per Share",
     "shortName": "Earnings Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstruments",
     "longName": "995495 - Disclosure - Financial Instruments",
     "shortName": "Financial Instruments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FinancialInstrumentsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurements",
     "longName": "995505 - Disclosure - Fair Value Measurements",
     "shortName": "Fair Value Measurements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomers",
     "longName": "995515 - Disclosure - Revenue From Contracts With Customers",
     "shortName": "Revenue From Contracts With Customers",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivities",
     "longName": "995525 - Disclosure - Derivative and Hedging Activities",
     "shortName": "Derivative and Hedging Activities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowings",
     "longName": "995535 - Disclosure - Borrowings",
     "shortName": "Borrowings",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FederalHomeLoanBankAdvancesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FederalHomeLoanBankAdvancesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebentures",
     "longName": "995545 - Disclosure - Subordinated Debentures",
     "shortName": "Subordinated Debentures",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:SubordinatedBorrowingsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:SubordinatedBorrowingsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReporting",
     "longName": "995555 - Disclosure - Segment Reporting",
     "shortName": "Segment Reporting",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombination",
     "longName": "995565 - Disclosure - Business combination",
     "shortName": "Business combination",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995575 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "23",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesTables",
     "longName": "995585 - Disclosure - Securities (Tables)",
     "shortName": "Securities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:TradingSecuritiesAndCertainTradingAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:TradingSecuritiesAndCertainTradingAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables",
     "longName": "995595 - Disclosure - Loans and Allowance for Credit Losses (Tables)",
     "shortName": "Loans and Allowance for Credit Losses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "cofs:LoansByTypeAsPercentageOfPortfolioTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:FinancingReceivablesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "cofs:LoansByTypeAsPercentageOfPortfolioTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:FinancingReceivablesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareTables",
     "longName": "995605 - Disclosure - Earnings Per Share (Tables)",
     "shortName": "Earnings Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsTables",
     "longName": "995615 - Disclosure - Financial Instruments (Tables)",
     "shortName": "Financial Instruments (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FairValueByBalanceSheetGroupingTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsTables",
     "longName": "995625 - Disclosure - Fair Value Measurements (Tables)",
     "shortName": "Fair Value Measurements (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersTables",
     "longName": "995635 - Disclosure - Revenue From Contracts With Customers (Tables)",
     "shortName": "Revenue From Contracts With Customers (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesTables",
     "longName": "995645 - Disclosure - Derivative and Hedging Activities (Tables)",
     "shortName": "Derivative and Hedging Activities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsTables",
     "longName": "995655 - Disclosure - Borrowings (Tables)",
     "shortName": "Borrowings (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingTables",
     "longName": "995665 - Disclosure - Segment Reporting (Tables)",
     "shortName": "Segment Reporting (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsTables",
     "longName": "995675 - Disclosure - Business Combinations (Tables)",
     "shortName": "Business Combinations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
     "longName": "995685 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)",
     "shortName": "Summary of Significant Accounting Policies - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "C_5828de84-675f-4330-9885-c95e762eb860",
      "name": "srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5828de84-675f-4330-9885-c95e762eb860",
      "name": "srt:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
     "longName": "995695 - Disclosure - Securities - Additional Information (Details)",
     "shortName": "Securities - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:HeldToMaturitySecuritiesFairValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "cofs:DebtSecuritiesAvailableforsaleAndHeldtomaturityTableTextBlock",
       "div",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfEquitySecuritiesAndRelatedGrossUnrealizedGainsLossesRecognizedInInterestIncomeDetails",
     "longName": "995705 - Disclosure - Securities - Fair Value of Equity Securities and Related Gross Unrealized Gains (Losses) Recognized in Interest Income (Details)",
     "shortName": "Securities - Fair Value of Equity Securities and Related Gross Unrealized Gains (Losses) Recognized in Interest Income (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:EquitySecuritiesFvNiCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:TradingSecuritiesAndCertainTradingAssetsTextBlock",
       "div",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:EquitySecuritiesFvNiCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:TradingSecuritiesAndCertainTradingAssetsTextBlock",
       "div",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
     "longName": "995715 - Disclosure - Securities - Fair Value of Debt Security, Available-for-sale and Held-to-maturity (Details)",
     "shortName": "Securities - Fair Value of Debt Security, Available-for-sale and Held-to-maturity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "cofs:DebtSecuritiesAvailableforsaleAndHeldtomaturityTableTextBlock",
       "div",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "cofs:DebtSecuritiesAvailableforsaleAndHeldtomaturityTableTextBlock",
       "div",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails",
     "longName": "995735 - Disclosure - Securities - Securities with Unrealized Losses Aggregated by Investment Category and Time with Unrealized Loss Position (Details)",
     "shortName": "Securities - Securities with Unrealized Losses Aggregated by Investment Category and Time with Unrealized Loss Position (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
     "longName": "995745 - Disclosure - Securities - Fair Value of Securities Available for Sale and The Related Unrealized Gains and Losses Recognized in Accumulated Comprehensive Income (Details)",
     "shortName": "Securities - Fair Value of Securities Available for Sale and The Related Unrealized Gains and Losses Recognized in Accumulated Comprehensive Income (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:HeldToMaturitySecuritiesTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:HeldToMaturitySecuritiesTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
     "longName": "995755 - Disclosure - Securities - Schedule of Maturities of Securities (Details)",
     "shortName": "Securities - Schedule of Maturities of Securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:DebtSecuritiesAvailableforsaleAndEquitySecuritiesFVNIMaturityRollingWithinOneYearFairValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:DebtSecuritiesAvailableforsaleAndEquitySecuritiesFVNIMaturityRollingWithinOneYearFairValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSalesOfSecuritiesDetails",
     "longName": "995775 - Disclosure - Securities - Sales of Securities (Details)",
     "shortName": "Securities - Sales of Securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRealizedGainLossTableTextBlock",
       "div",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRealizedGainLossTableTextBlock",
       "div",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesUnrealizedGainsAndLossesOnEquitySecuritiesDetails",
     "longName": "995785 - Disclosure - Securities - Unrealized Gains and Losses on Equity Securities (Details)",
     "shortName": "Securities - Unrealized Gains and Losses on Equity Securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:EquitySecuritiesFvNiGainLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:EquitySecuritiesFvNiGainLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:GainLossOnInvestmentsTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
     "longName": "995795 - Disclosure - Loans and Allowance for Credit Losses - Loans by Type as Percentage of Portfolio (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Loans by Type as Percentage of Portfolio (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:NotesReceivableGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "cofs:PercentageOfAllowanceForCreditLosses",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "cofs:LoansByTypeAsPercentageOfPortfolioTableTextBlock",
       "div",
       "us-gaap:FinancingReceivablesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
     "longName": "995805 - Disclosure - Loans and Allowance for Credit Losses - Allowance for Credit Losses and Balances in Loan Portfolio (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Allowance for Credit Losses and Balances in Loan Portfolio (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "C_6bc1ba01-ac72-4eca-b3ed-b8d8a65c0fec",
      "name": "us-gaap:FinancingReceivableAllowanceForCreditLosses",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
     "longName": "995815 - Disclosure - Loans and Allowance for Credit Losses - Schedule of outstanding balance and related allowance on loans (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Schedule of outstanding balance and related allowance on loans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "C_5ff8f4d0-7661-4c92-a94b-9246a66d8aa1",
      "name": "cofs:LoansAndLeaseReceivableOutstandingBalanceOnPCDLoans",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "cofs:ScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5ff8f4d0-7661-4c92-a94b-9246a66d8aa1",
      "name": "cofs:LoansAndLeaseReceivableOutstandingBalanceOnPCDLoans",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "cofs:ScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
     "longName": "995825 - Disclosure - Loans and Allowance for Credit Losses - Schedule of Information Regarding Credit Exposure (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Schedule of Information Regarding Credit Exposure (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:FinancingReceivableOriginatedInCurrentFiscalYear",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_425efde0-77e2-44f0-97ea-cc7dacdb2c7e",
      "name": "us-gaap:FinancingReceivableOriginatedInCurrentFiscalYear",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FinancingReceivableCreditQualityIndicatorsTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureParentheticalDetails",
     "longName": "995845 - Disclosure - Loans and Allowance for Credit Losses - Schedule of Information Regarding Credit Exposure (Parenthetical) (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Schedule of Information Regarding Credit Exposure (Parenthetical) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "cofs:FinancingReceivableOriginatedCheckingAccountsWriteoffs",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "link:footnote",
       "p",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "cofs:FinancingReceivableOriginatedCheckingAccountsWriteoffs",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "link:footnote",
       "p",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails",
     "longName": "995855 - Disclosure - Loans and Allowance for Credit Losses - Summary of Amortized Cost Basis Loans Modified To Borrowers Experiencing On Financing Receivable (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Summary of Amortized Cost Basis Loans Modified To Borrowers Experiencing On Financing Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:FinancingReceivableTroubledLoanModificationAmortizedCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "cofs:AmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:FinancingReceivableTroubledLoanModificationAmortizedCost",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "cofs:AmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
     "longName": "995875 - Disclosure - Loans and Allowance for Credit Losses - Nonaccrual Loans by Loan Category (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Nonaccrual Loans by Loan Category (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:FinancingReceivableNonaccrualNoAllowance",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFinancingReceivablesNonAccrualStatusTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:FinancingReceivableNonaccrualNoAllowance",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFinancingReceivablesNonAccrualStatusTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
     "longName": "995895 - Disclosure - Loans and Allowance for Credit Losses - Aging Analysis of Loans by Loan Category (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Aging Analysis of Loans by Loan Category (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:NotesReceivableGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PastDueFinancingReceivablesTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails",
     "longName": "995915 - Disclosure - Loans and Allowance for Credit Losses - Additional Information (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "C_87ebc3cf-8e98-4e4f-a005-dbd6bbb956f1",
      "name": "us-gaap:PaymentsForLoans",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-2",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_87ebc3cf-8e98-4e4f-a005-dbd6bbb956f1",
      "name": "us-gaap:PaymentsForLoans",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-2",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
     "longName": "995925 - Disclosure - Loans and Allowance for Credit Losses - Schedule of Collateral Dependent Loans and Related Allowance For Credit Losses Allocated to Loans (Details)",
     "shortName": "Loans and Allowance for Credit Losses - Schedule of Collateral Dependent Loans and Related Allowance For Credit Losses Allocated to Loans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "C_ebf3de10-3689-46cf-b829-5a40bb8b34e2",
      "name": "us-gaap:FinancingReceivableIndividuallyEvaluatedForImpairment",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "cofs:ScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_ebf3de10-3689-46cf-b829-5a40bb8b34e2",
      "name": "us-gaap:FinancingReceivableIndividuallyEvaluatedForImpairment",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "cofs:ScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails",
     "longName": "995935 - Disclosure - Earnings Per Share - Schedule of Basic Earnings Per Share and Diluted Earnings Per Share (Details)",
     "shortName": "Earnings Per Share - Schedule of Basic Earnings Per Share and Diluted Earnings Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails",
     "longName": "995945 - Disclosure - Earnings Per Share - Additional Information (Details)",
     "shortName": "Earnings Per Share - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "C_52f910c8-0ff5-4149-952f-8f88089e8b61",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_52f910c8-0ff5-4149-952f-8f88089e8b61",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails",
     "longName": "995955 - Disclosure - Financial Instruments - Summary of Financial Instruments (Details)",
     "shortName": "Financial Instruments - Summary of Financial Instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:EquitySecuritiesFvNi",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_1ffe5be7-dd2a-413f-a9a7-9b61a5e5ffc6",
      "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
     "longName": "995965 - Disclosure - Fair Value Measurements - Schedule of Assets and Liabilities Measured at Fair Value (Details)",
     "shortName": "Fair Value Measurements - Schedule of Assets and Liabilities Measured at Fair Value (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:EquitySecuritiesFvNi",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fe0875dd-8c29-4afa-93de-97e4fe354dae",
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails",
     "longName": "995975 - Disclosure - Fair Value Measurements - Changes in Level 3 Assets Measured at Fair Value on a Recurring Basis (Details)",
     "shortName": "Fair Value Measurements - Changes in Level 3 Assets Measured at Fair Value on a Recurring Basis (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "C_0d6f80d6-1788-4b5f-b402-bf847e4f3b47",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_0d6f80d6-1788-4b5f-b402-bf847e4f3b47",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails",
     "longName": "995985 - Disclosure - Fair Value Measurements - Additional Information (Details)",
     "shortName": "Fair Value Measurements - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
     "longName": "995995 - Disclosure - Fair Value Measurements - Assets Measured at Fair Value on a Non-recurring Basis (Details)",
     "shortName": "Fair Value Measurements - Assets Measured at Fair Value on a Non-recurring Basis (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "C_89cee07b-7f87-4d37-b416-4c77ccd53c14",
      "name": "cofs:CollateralDependentLoansFairValueDisclosure",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnNonrecurringBasisTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_89cee07b-7f87-4d37-b416-4c77ccd53c14",
      "name": "cofs:CollateralDependentLoansFairValueDisclosure",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsMeasuredOnNonrecurringBasisTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails",
     "longName": "996005 - Disclosure - Revenue from Contracts with Customers - Schedule of Noninterest Income Separated by Revenue (Details)",
     "shortName": "Revenue from Contracts with Customers - Schedule of Noninterest Income Separated by Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
     "longName": "996015 - Disclosure - Derivative and Hedging Activities - Additional Information (Details)",
     "shortName": "Derivative and Hedging Activities - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:CashCollateralPledged",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:CashCollateralPledged",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails",
     "longName": "996025 - Disclosure - Derivative and Hedging Activities - Schedule of Derivatives Instruments in Balance Sheet Location (Details)",
     "shortName": "Derivative and Hedging Activities - Schedule of Derivatives Instruments in Balance Sheet Location (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "C_0a882477-ca78-421e-bd06-4d610abf250d",
      "name": "us-gaap:DerivativeAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "div",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R63": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails",
     "longName": "996035 - Disclosure - Derivative and Hedging Activities - Location and Amount of Gain (Loss) in Income on Fair Value and Cash Flow Hedging Relationships (Details)",
     "shortName": "Derivative and Hedging Activities - Location and Amount of Gain (Loss) in Income on Fair Value and Cash Flow Hedging Relationships (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "C_0fafdb6a-367f-4c03-9cf4-5a22001651e9",
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativesInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_0fafdb6a-367f-4c03-9cf4-5a22001651e9",
      "name": "us-gaap:DerivativeGainLossOnDerivativeNet",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativesInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
     "longName": "996045 - Disclosure - Derivative and Hedging Activities - Schedule of Cumulative Basis Adjustments on Hedged Items Designated as Fair Value Hedges and Related Amortized Cost (Details)",
     "shortName": "Derivative and Hedging Activities - Schedule of Cumulative Basis Adjustments on Hedged Items Designated as Fair Value Hedges and Related Amortized Cost (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "C_b6a69c31-d03d-4412-b06d-b9cb4d4406db",
      "name": "us-gaap:DerivativeAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_b6a69c31-d03d-4412-b06d-b9cb4d4406db",
      "name": "us-gaap:DerivativeAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails",
     "longName": "996055 - Disclosure - Derivative and Hedging Activities - Schedule of the Notional and Fair Value of Derivative Instruments (Details)",
     "shortName": "Derivative and Hedging Activities - Schedule of the Notional and Fair Value of Derivative Instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "C_6b15eed2-a7cf-40b1-9e89-d54ef887b0ed",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_944a6733-7d3d-4267-9ed1-34dfd34637c6",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
     "longName": "996065 - Disclosure - Borrowings - Schedule of Contractual Maturities of Federal Home Loan Bank Advances (Details)",
     "shortName": "Borrowings - Schedule of Contractual Maturities of Federal Home Loan Bank Advances (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "C_e621a796-add4-45e6-82a9-242dcbb14b1c",
      "name": "us-gaap:AdvancesFromFederalHomeLoanBanks",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e621a796-add4-45e6-82a9-242dcbb14b1c",
      "name": "us-gaap:AdvancesFromFederalHomeLoanBanks",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails",
     "longName": "996075 - Disclosure - Borrowings - Schedule of Contractual Maturities of Federal Home Loan Bank Advances (Parenthetical) (Details)",
     "shortName": "Borrowings - Schedule of Contractual Maturities of Federal Home Loan Bank Advances (Parenthetical) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "C_e621a796-add4-45e6-82a9-242dcbb14b1c",
      "name": "us-gaap:FederalHomeLoanBankAdvancesBranchOfFHLBBankInterestRate",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e621a796-add4-45e6-82a9-242dcbb14b1c",
      "name": "us-gaap:FederalHomeLoanBankAdvancesBranchOfFHLBBankInterestRate",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTextBlock",
       "div",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
     "longName": "996105 - Disclosure - Borrowings - Additional Information (Details)",
     "shortName": "Borrowings - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:BorrowingsFromFederalReserveBank",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "cofs:BorrowingsFromFederalReserveBank",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails",
     "longName": "996115 - Disclosure - Subordinated Debentures - Additional Information (Details)",
     "shortName": "Subordinated Debentures - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:AdjustmentForAmortization",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f4cfcf2e-a2fb-4e71-b7ed-11b794347cdf",
      "name": "cofs:TrustPreferredSecuritiesAfterMergerFairValueAdjustments",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SubordinatedBorrowingsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails",
     "longName": "996125 - Disclosure - Segment Reporting - Additional Information (Details)",
     "shortName": "Segment Reporting - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "U_Segment",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "U_Segment",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingScheduleOfReconciliationOfTotalRevenuesProfitOrLossAndAssetsDetails",
     "longName": "996135 - Disclosure - Segment Reporting - Schedule of Reconciliation of Total Revenues, Profit or Loss, and Assets (Details)",
     "shortName": "Segment Reporting - Schedule of Reconciliation of Total Revenues, Profit or Loss, and Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:Revenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:Revenues",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails",
     "longName": "996145 - Disclosure - Business Combinations - Additional Information (Details)",
     "shortName": "Business Combinations - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_cdc5ab4e-5ae5-40ef-8a32-f23824b6cc38",
      "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
     "longName": "996155 - Disclosure - Business Combination - Summary of Allocation of Purchase Price (Details)",
     "shortName": "Business Combination - Summary of Allocation of Purchase Price (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "C_445b562b-646e-4698-883d-67daa662b5f9",
      "name": "us-gaap:Goodwill",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_57a0125f-26ef-40e6-b773-504007960b01",
      "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
       "div",
       "us-gaap:BusinessCombinationDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cofs-20260331.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "cofs_AAAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AAAMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "AAA [Member]",
        "label": "A A A [Member]",
        "documentation": "AAA."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AAMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A A [Member]",
        "terseLabel": "AA [Member]",
        "label": "A A [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AAOrBetterMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AAOrBetterMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AA or Better [Member]",
        "documentation": "Related to AA or better.",
        "terseLabel": "AA or Better [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_ARatedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ARatedMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A rated.",
        "terseLabel": "A Rated [Member]",
        "label": "A Rated [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AaOrBetterMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AaOrBetterMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "AA or Better [Member]",
        "label": "AA Or Better [Member]",
        "documentation": "AA Or better."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountingStandardsUpdate202309Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountingStandardsUpdate202309Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update 2023-09 [Member]",
        "terseLabel": "ASU 2023-09",
        "documentation": "Accounting Standards Update 2023-09 Income Taxes (Topic 740): Improvements to Income Tax Disclosures."
       }
      }
     },
     "auth_ref": [
      "r557",
      "r558",
      "r559"
     ]
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r1360"
     ]
    },
    "cofs_AccretionOfDerivativeTerminationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AccretionOfDerivativeTerminationGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accretion of derivative termination (gain) loss",
        "label": "Accretion Of Derivative Termination (gain) Loss",
        "documentation": "Accretion of derivative termination (gain) loss"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AccretionOnPurchasedLoans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AccretionOnPurchasedLoans",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accretion On Purchased Loans",
        "documentation": "Accretion on purchased loans.",
        "negatedLabel": "Accretion on purchased loans"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AccruedInterestPayableFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AccruedInterestPayableFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of accrued interest payable.",
        "label": "Accrued interest payable"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AccruedInterestReceivableFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AccruedInterestReceivableFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents fair value of accrued interest receivable.",
        "label": "Accrued interest receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI, Debt Securities, Available-for-Sale, Adjustment, after Tax",
        "terseLabel": "Net unrealized gain",
        "documentation": "Amount, after tax, of accumulated unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r1277"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive loss, net",
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r19",
      "r65",
      "r202",
      "r864",
      "r897",
      "r901",
      "r1484"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income/(Loss), Net [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r14",
      "r19",
      "r712",
      "r715",
      "r796",
      "r892",
      "r893",
      "r1279",
      "r1280",
      "r1281",
      "r1340",
      "r1341",
      "r1342",
      "r1344"
     ]
    },
    "cofs_AcquisitionOfAssetsFromMergerNetOfCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AcquisitionOfAssetsFromMergerNetOfCash",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition of assets from merger, net of cash",
        "label": "Acquisition Of Assets From Merger, Net Of Cash",
        "documentation": "Acquisition of assets from merger, net of cash."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AcquisitionOfLiabilitiesFromMerger": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AcquisitionOfLiabilitiesFromMerger",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Acquisition of Liabilities From Merger",
        "documentation": "Acquisition of liabilities from merger.",
        "terseLabel": "Acquisition of liabilities from merger"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1196"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r1209"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r1209"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r1209"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1209"
     ]
    },
    "us-gaap_AdjustmentForAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentForAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization",
        "verboseLabel": "Amortization",
        "totalLabel": "Merger fair value adjustments",
        "terseLabel": "Merger fair value adjustments",
        "documentation": "The aggregate amount of recurring noncash expense charged against earnings in the period to allocate the cost of assets over their estimated remaining economic lives."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_AdjustmentsForNewAccountingPronouncementsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentsForNewAccountingPronouncementsAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Axis]",
        "documentation": "Information by amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r230",
      "r231",
      "r232",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r273",
      "r327",
      "r328",
      "r378",
      "r380",
      "r381",
      "r382",
      "r440",
      "r441",
      "r444",
      "r477",
      "r478",
      "r479",
      "r480",
      "r544",
      "r545",
      "r546",
      "r547",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r613",
      "r614",
      "r615",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r733",
      "r761",
      "r762",
      "r787",
      "r788",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796",
      "r890",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901"
     ]
    },
    "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Noncash Item [Abstract]",
        "terseLabel": "Adjustments to reconcile net income (loss) to net cash from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares surrendered by participants for RSU tax payments",
        "label": "Share-Based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "negatedLabel": "Shares surrendered by participants for RSU tax payments",
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1453"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationEmployeeStockPurchaseProgramRequisiteServicePeriodRecognition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationEmployeeStockPurchaseProgramRequisiteServicePeriodRecognition",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of employee stock purchases",
        "terseLabel": "Compensation expense for employee stock purchases",
        "documentation": "Amount of increase in additional paid-in capital (APIC) for recognition of cost for employee stock purchase program (ESPP) award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r490",
      "r549"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition, Total",
        "verboseLabel": "Stock-based compensation expense",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r515"
     ]
    },
    "us-gaap_AdvancesFromFederalHomeLoanBanks": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AdvancesFromFederalHomeLoanBanks",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total advances outstanding at year-end",
        "totalLabel": "Advance from Federal Home Loan Bank, Total",
        "label": "Advance from Federal Home Loan Bank",
        "documentation": "Amount of borrowings as of the balance sheet date from the Federal Home Loan Bank, which are primarily used to cover shortages in the required reserve balance and liquidity shortages."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1242"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1168",
      "r1178",
      "r1188",
      "r1220"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r1171",
      "r1181",
      "r1191",
      "r1223"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Pension Adjustments Service Cost [Member]",
        "terseLabel": "Aggregate Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r1243"
     ]
    },
    "cofs_AgriculturalAndResidentialRealEstateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AgriculturalAndResidentialRealEstateMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Agricultural and Residential Real Estate [Member]",
        "documentation": "Information related to agricultural and residential real estate loans.",
        "terseLabel": "Agricultural and Residential Real Estate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AgriculturalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AgriculturalMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to agriculture.",
        "label": "Agricultural [Member]",
        "terseLabel": "Agricultural [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r1209"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r1216"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r1172",
      "r1182",
      "r1192",
      "r1216",
      "r1224",
      "r1228",
      "r1236"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r1234"
     ]
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowance for Credit Losses and Balances in Loan Portfolio",
        "label": "Financing Receivable, Allowance for Credit Loss [Table Text Block]",
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable."
       }
      }
     },
     "auth_ref": [
      "r1393"
     ]
    },
    "cofs_AllowanceForLoanAndLeaseLossesAcquisitionRelatedAllowanceForCreditLossPurchasedWithCreditDeterioration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AllowanceForLoanAndLeaseLossesAcquisitionRelatedAllowanceForCreditLossPurchasedWithCreditDeterioration",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquisition related allowance for credit loss (PCD)",
        "label": "Allowance For Loan And Lease Losses Acquisition Related Allowance For Credit Loss Purchased With Credit Deterioration",
        "documentation": "Allowance for loan and lease losses acquisition related allowance for credit loss purchased with credit deterioration.",
        "verboseLabel": "ACL Balance"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible amortization",
        "terseLabel": "Intangible amortization",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r229",
      "r431",
      "r437",
      "r1002",
      "r1010",
      "r1011",
      "r1013",
      "r1015"
     ]
    },
    "cofs_AmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Amortized Cost Basis Loans Modified To Borrowers Experiencing On Financing Receivable",
        "label": "Amortized Cost Basis Loans Modified To Borrowers Experiencing On Financing Receivable [Table Text Block]",
        "documentation": "Amortized cost basis loans modified to borrowers experiencing on financing receivable."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_AmortizedCostBasisOfCollateralDependentLoansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AmortizedCostBasisOfCollateralDependentLoansMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortized Cost Basis Of Collateral Dependent Loans [Member]",
        "documentation": "Amortized Cost Basis Of Collateral Dependent Loans [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation",
        "terseLabel": "Antidilutive securities excluded from computation of earnings per share, amount (in shares)",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r291"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r291"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r291"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r291"
     ]
    },
    "us-gaap_AssetBackedSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetBackedSecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset-backed Securities [Member]",
        "label": "Asset-Backed Securities [Member]",
        "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans."
       }
      }
     },
     "auth_ref": [
      "r1076",
      "r1078",
      "r1138",
      "r1365",
      "r1371",
      "r1379"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingScheduleOfReconciliationOfTotalRevenuesProfitOrLossAndAssetsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets",
        "totalLabel": "Total assets",
        "terseLabel": "Consolidated total assets",
        "verboseLabel": "Total assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r116",
      "r199",
      "r245",
      "r247",
      "r248",
      "r295",
      "r307",
      "r317",
      "r320",
      "r377",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r641",
      "r643",
      "r773",
      "r850",
      "r851",
      "r861",
      "r943",
      "r1031",
      "r1032",
      "r1066",
      "r1137",
      "r1145",
      "r1146",
      "r1159",
      "r1418",
      "r1419",
      "r1509"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsSoldUnderAgreementsToRepurchaseMaturityPeriodDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsSoldUnderAgreementsToRepurchaseMaturityPeriodDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repurchase Agreements and Similar Transactions, Maturity Periods [Domain]",
        "documentation": "Maturity period remaining for repurchase agreements and similar transactions, for example, but not limited to, securities lending arrangements. Element name and standard label in Maturity [numeric lower end] to [numeric higher end] [date measure] [Member] or Maturity Greater Than [low end numeric value] [date measure] [Member] or Maturity Less Than [high end numeric value] [date measure] [Member] formats."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r253",
      "r813",
      "r1138"
     ]
    },
    "us-gaap_AssetsSoldUnderAgreementsToRepurchaseMaturityPeriodsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AssetsSoldUnderAgreementsToRepurchaseMaturityPeriodsAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repurchase Agreements and Similar Transactions, Maturity Periods [Axis]",
        "documentation": "Information by maturity period remaining for repurchase agreements and similar transactions, for example, but not limited to, securities lending arrangements. Element name and standard label in Maturity [numeric lower end] to [numeric higher end] [date measure] [Member] or Maturity Greater Than [low end numeric value] [date measure] [Member] or Maturity Less Than [high end numeric value] [date measure] [Member] formats."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r253",
      "r813",
      "r1138"
     ]
    },
    "cofs_AugustTwoThousandAndFiveOfferingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AugustTwoThousandAndFiveOfferingMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "August Two Thousand And Five Offering [Member]",
        "documentation": "August two thousand and five offering member.",
        "terseLabel": "August 2005 offering [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross unrealized gains, available for sale",
        "label": "Gross unrealized gains, available for sale",
        "documentation": "Amount, before tax, of unrealized gain in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r348"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gross unrealized losses, available for sale",
        "label": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax",
        "totalLabel": "Debt Securities, Available-for-Sale, Accumulated Gross Unrealized Loss, before Tax, Total",
        "documentation": "Amount, before tax, of unrealized loss in accumulated other comprehensive income (AOCI) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r349"
     ]
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortized cost, available for sale",
        "label": "Debt Securities, Available-for-Sale, Amortized Cost",
        "totalLabel": "Amortized cost, available for sale",
        "documentation": "Amortized cost of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r345",
      "r415",
      "r859"
     ]
    },
    "cofs_AvailableForSaleSecuritiesDebtAndEquitySecuritiesFvNiMaturitiesRollingAfterYearTenFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "AvailableForSaleSecuritiesDebtAndEquitySecuritiesFvNiMaturitiesRollingAfterYearTenFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails2": {
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "More than 10 Years",
        "documentation": "Fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), and equity security measured at fair value with change in fair value recognized in net income (FV-NI), with single maturity date and allocated without single maturity date, maturing after rolling tenth fiscal year following latest fiscal year. For interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.",
        "label": "More than 10 Years"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails": {
       "parentTag": "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 11.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Fair value, available for sale",
        "terseLabel": "Fair value, available for sale",
        "verboseLabel": "Securities available for sale, at fair value (Note 2)",
        "label": "Securities available for sale",
        "netLabel": "Total Available for Sale",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r346",
      "r415",
      "r735",
      "r764",
      "r766",
      "r768",
      "r769",
      "r841",
      "r1000",
      "r1124",
      "r1128",
      "r1135",
      "r1362",
      "r1488",
      "r1489",
      "r1490"
     ]
    },
    "us-gaap_AvailableforsaleSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AvailableforsaleSecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Available-for-Sale Securities [Member]",
        "documentation": "Investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r149"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r1231"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r1232"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r1230"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1229"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r1228"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r1228"
     ]
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position Location, Balance [Axis]",
        "documentation": "Information by location in statement of financial position where disaggregated cumulative balance is reported."
       }
      }
     },
     "auth_ref": [
      "r443",
      "r656",
      "r660",
      "r661",
      "r662",
      "r663",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r772",
      "r1117",
      "r1119",
      "r1249",
      "r1531"
     ]
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position Location, Balance [Domain]",
        "documentation": "Location in statement of financial position where disaggregated cumulative balance is reported."
       }
      }
     },
     "auth_ref": [
      "r443",
      "r656",
      "r660",
      "r661",
      "r662",
      "r663",
      "r683",
      "r684",
      "r685",
      "r686",
      "r687",
      "r688",
      "r689",
      "r772",
      "r1117",
      "r1119",
      "r1249",
      "r1531"
     ]
    },
    "us-gaap_BankOwnedLifeInsuranceIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BankOwnedLifeInsuranceIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings on life insurance policies",
        "documentation": "Earnings on or other increases in the value of the cash surrender value of bank owned life insurance policies."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "cofs_BankOwnedLifeInsuranceIncomeOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BankOwnedLifeInsuranceIncomeOperatingActivities",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 28.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of bank owned life insurance income classified as operating activities.",
        "label": "cofs_BankOwnedLifeInsuranceIncomeOperatingActivities",
        "negatedLabel": "Earnings on bank-owned life insurance"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BankTermFundingProgramAdvancesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BankTermFundingProgramAdvancesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bank Term Funding Program Advances.",
        "label": "Bank Term Funding Program Advances [Member]",
        "terseLabel": "Bank Term Funding Program Advances [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BankTermFundingProgramMaturityOfDecember2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BankTermFundingProgramMaturityOfDecember2024Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bank Term Funding Program Maturity of December 2024.",
        "label": "Bank Term Funding Program Maturity Of December 2024 [Member]",
        "terseLabel": "Bank Term Funding Program Maturity Of December 2024 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BankTermFundingProgramMaturityOfJanuary2025Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BankTermFundingProgramMaturityOfJanuary2025Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bank Term Funding Program maturity of january 2025.",
        "label": "Bank Term Funding Program Maturity Of January 2025 [Member]",
        "terseLabel": "Bank Term Funding Program Maturity of January 2025 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BankTermFundingProgramMaturityOfMay2024Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BankTermFundingProgramMaturityOfMay2024Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Bank Term Funding Program Maturity of May 2024",
        "label": "Bank Term Funding Program Maturity Of May 2024 [Member]",
        "terseLabel": "Bank Term Funding Program Maturity Of May 2024 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_Borrowings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "Borrowings",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to borrowings.",
        "label": "cofs_Borrowings",
        "verboseLabel": "Borrowings"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BorrowingsFromFederalReserveBank": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BorrowingsFromFederalReserveBank",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Borrowings from federal reserve bank",
        "label": "Borrowings from Federal Reserve Bank",
        "documentation": "Borrowings from Federal Reserve Bank."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BrokeredDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BrokeredDeposits",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Deposits",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Brokered deposits",
        "label": "Brokered Deposits",
        "documentation": "Brokered deposits."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Domain]",
        "documentation": "Business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r428",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r632",
      "r633",
      "r634",
      "r903",
      "r1081",
      "r1082",
      "r1459",
      "r1463",
      "r1465"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r428",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r571",
      "r572",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r582",
      "r583",
      "r584",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r623",
      "r624",
      "r625",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r632",
      "r633",
      "r634",
      "r903",
      "r1081",
      "r1082",
      "r1459",
      "r1463",
      "r1465"
     ]
    },
    "us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionCostOfAcquiredEntityTransactionCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Transaction Cost, Excluding Separately Recognized Transaction",
        "terseLabel": "Acquired securities under merger combination",
        "documentation": "Amount of transaction cost incurred to effect business combination. Excludes separately recognized transaction and indirect cost."
       }
      }
     },
     "auth_ref": [
      "r1461"
     ]
    },
    "us-gaap_BusinessAcquisitionDescriptionOfAcquiredEntity": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionDescriptionOfAcquiredEntity",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business acquisition description",
        "label": "Business Combination, Description of Acquiree",
        "documentation": "Description of acquiree in business combination."
       }
      }
     },
     "auth_ref": [
      "r571",
      "r1085",
      "r1088"
     ]
    },
    "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred, Equity Interest, Share Issued, Number of Shares",
        "terseLabel": "Number of shares issued (in shares)",
        "documentation": "Number of shares of equity interest issued or issuable by acquirer as part of consideration transferred in business combination."
       }
      }
     },
     "auth_ref": [
      "r1085",
      "r1090",
      "r1091",
      "r1098",
      "r1099"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Line Items]",
        "terseLabel": "Business Acquisition [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r428",
      "r571",
      "r572",
      "r573",
      "r574",
      "r580",
      "r581",
      "r582",
      "r583",
      "r589",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r628",
      "r629",
      "r630",
      "r634",
      "r1085",
      "r1095",
      "r1459",
      "r1463",
      "r1465"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionProFormaInformationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Pro Forma Information [Abstract]",
        "terseLabel": "Business Acquisition, Pro Forma Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Pro Forma Information",
        "label": "Business Combination, Pro Forma Information [Table Text Block]",
        "documentation": "Tabular disclosure of pro forma revenue and earnings for business combination or aggregate of series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r1085",
      "r1096",
      "r1246",
      "r1247",
      "r1460"
     ]
    },
    "cofs_BusinessAcquisitionProFormaNetInterestIncomePlusOtherIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessAcquisitionProFormaNetInterestIncomePlusOtherIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfProFormaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net interest income plus other income",
        "label": "Business Acquisition, Pro Forma Net Interest Income Plus Other Income",
        "documentation": "Business acquisition, pro forma net interest income plus other income."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BusinessAcquisitionsAdjustmentToNetIncomeLossAfterTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessAcquisitionsAdjustmentToNetIncomeLossAfterTax",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisitions Adjustment To Net Income Loss After Tax",
        "documentation": "Business acquisitions adjustment to net income loss after tax.",
        "terseLabel": "Business acquisitions adjustment to net income loss after tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessAcquisitionsProFormaNetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfProFormaInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Pro Forma Information, Pro Forma Income (Loss), after Tax",
        "terseLabel": "Net income (loss)",
        "documentation": "Amount, after tax, of pro forma income (loss) of combined entity as if acquisition date of business combination occurred as of beginning of period."
       }
      }
     },
     "auth_ref": [
      "r586",
      "r587",
      "r589",
      "r1085",
      "r1096",
      "r1097"
     ]
    },
    "us-gaap_BusinessCombinationAcquiredReceivablesFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationAcquiredReceivablesFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Acquired Receivable, Purchased without Credit Deterioration, Fair Value",
        "terseLabel": "Fair value on acquired loans",
        "documentation": "Fair value of receivable purchased without credit deterioration, acquired in business combination. Excludes purchased financial asset with credit deterioration."
       }
      }
     },
     "auth_ref": [
      "r597",
      "r605"
     ]
    },
    "us-gaap_BusinessCombinationAcquisitionRelatedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationAcquisitionRelatedCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Acquisition-Related Cost, Expense",
        "terseLabel": "Acquisition related expense",
        "documentation": "Amount of expense for acquisition-related cost incurred to effect business combination. Includes, but is not limited to, finder's fee; advisory, legal, accounting, valuation, and other professional and consulting fees; and general administrative cost, including cost of maintaining internal acquisition department."
       }
      }
     },
     "auth_ref": [
      "r1456",
      "r1461"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferred1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationConsiderationTransferred1",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred",
        "totalLabel": "Business Combination, Consideration Transferred, Total",
        "terseLabel": "Consideration",
        "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer."
       }
      }
     },
     "auth_ref": [
      "r618",
      "r630",
      "r1085",
      "r1090"
     ]
    },
    "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Consideration Transferred, Equity Interest",
        "terseLabel": "Common stock purchased",
        "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination."
       }
      }
     },
     "auth_ref": [
      "r1085",
      "r1090",
      "r1091",
      "r1098",
      "r1099"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombination"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Text Block]",
        "terseLabel": "Business Combinations",
        "documentation": "The entire disclosure for business combination."
       }
      }
     },
     "auth_ref": [
      "r570",
      "r571",
      "r575",
      "r584",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r595",
      "r596",
      "r602",
      "r605",
      "r606",
      "r612",
      "r616",
      "r617",
      "r625",
      "r629",
      "r630",
      "r631",
      "r633",
      "r635",
      "r1085",
      "r1086",
      "r1087",
      "r1088",
      "r1092",
      "r1093",
      "r1094"
     ]
    },
    "us-gaap_BusinessCombinationIntegrationRelatedCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationIntegrationRelatedCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Integration-Related Cost, Expense",
        "terseLabel": "Merger related expenses",
        "documentation": "Amount of expense for integration-related cost incurred in connection with business combination. Includes system integration and conversion costs; severance and other employee-related costs; restructuring and other post-combination costs. Excludes acquisition-related cost incurred to effect business combination; cost to issue debt or equity securities; and cost related to acquisition of asset."
       }
      }
     },
     "auth_ref": [
      "r1461"
     ]
    },
    "us-gaap_BusinessCombinationReasonForBusinessCombination": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationReasonForBusinessCombination",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Reason for Business Combination",
        "terseLabel": "Reason for business combination",
        "documentation": "This element represents a description of the primary reason for the business combination which may consist of general categories such as top-line growth, synergistic benefits, market share, and diversification and the more detailed factors that might apply."
       }
      }
     },
     "auth_ref": [
      "r574",
      "r1085",
      "r1088"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Asset Acquired, Asset",
        "totalLabel": "Total assets",
        "terseLabel": "Total assets",
        "documentation": "Amount of asset acquired in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r600",
      "r605"
     ]
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBorrowing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedBorrowing",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Borrowing",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed borrowing.",
        "terseLabel": "Borrowing"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Asset Acquired, Cash and Cash Equivalent",
        "terseLabel": "Cash and cash equivalents",
        "documentation": "Amount of cash and cash equivalent acquired in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r1464",
      "r1466"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsMarketableSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Asset Acquired, Investment in Debt and Equity Securities, Current",
        "terseLabel": "Securities available for sale",
        "documentation": "Amount of investment in debt and equity securities acquired in business combination and recognized at acquisition date, classified as current."
       }
      }
     },
     "auth_ref": [
      "r1464",
      "r1466"
     ]
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFederalHomeLoanBankAndFederalReserveBankStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFederalHomeLoanBankAndFederalReserveBankStock",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of financial assets (as defined) recognized as of the federal home loan bank and federal reserve bank stock.",
        "label": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFederalHomeLoanBankAndFederalReserveBankStock",
        "terseLabel": "Federal Home Loan Bank and Federal Reserve Bank stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets",
        "label": "Business Combination, Recognized Asset Acquired, Identifiable Intangible Asset, Indefinite-Lived",
        "documentation": "Amount of identifiable indefinite-lived intangible asset acquired in business combination and recognized at acquisition date. Excludes goodwill and financial asset."
       }
      }
     },
     "auth_ref": [
      "r1464",
      "r1466"
     ]
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInterestBearingDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInterestBearingDeposits",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTotalDeposits",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of liability arising from interest bearing deposits.",
        "label": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInterestBearingDeposits",
        "terseLabel": "Interest bearing deposits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Business Combination, Recognized Liability Assumed, Liability",
        "documentation": "Amount of liability assumed in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r600",
      "r605"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Asset Acquired to Liability Assumed, Excess (Less)",
        "terseLabel": "Net assets acquired",
        "totalLabel": "Net assets acquired",
        "documentation": "Amount of asset acquired in excess of (less than) liability assumed in business combination and recognized at acquisition date. Excludes goodwill."
       }
      }
     },
     "auth_ref": [
      "r1085",
      "r1090",
      "r1464",
      "r1466"
     ]
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Liability Assumed, Other Liability, Noncurrent",
        "terseLabel": "Other liabilities",
        "documentation": "Amount of liability assumed in business combination and recognized at acquisition date, classified as other and noncurrent."
       }
      }
     },
     "auth_ref": [
      "r1464",
      "r1466"
     ]
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoninterestBearingDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoninterestBearingDeposits",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTotalDeposits",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-interest bearing deposits",
        "documentation": "The amount of financial assets (as defined) recognized as non-interest bearing deposits.",
        "label": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoninterestBearingDeposits"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOriginatedLoans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOriginatedLoans",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of financial assets (as defined) recognized as of the originated loans.",
        "label": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOriginatedLoans",
        "terseLabel": "Originated loans"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Asset Acquired, Other Asset, Noncurrent",
        "terseLabel": "Other assets",
        "documentation": "Amount of asset acquired in business combination and recognized at acquisition date, classified as other and noncurrent."
       }
      }
     },
     "auth_ref": [
      "r1464",
      "r1466"
     ]
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherRealEstateOwned": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherRealEstateOwned",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of financial assets (as defined) recognized as of the other real estate owned.",
        "label": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherRealEstateOwned",
        "terseLabel": "Other real estate owned"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Asset Acquired, Property, Plant, and Equipment",
        "totalLabel": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, Total",
        "terseLabel": "Premises and equipment",
        "documentation": "Amount of property, plant, and equipment acquired in business combination and recognized at acquisition date."
       }
      }
     },
     "auth_ref": [
      "r1085",
      "r1090",
      "r1464",
      "r1466"
     ]
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedSubordinatedDebentures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedSubordinatedDebentures",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subordinated debentures",
        "label": "Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Subordinated Debentures",
        "documentation": "Business combination recognized identifiable assets acquired and liabilities assumed subordinated debentures."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTotalDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTotalDeposits",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails": {
       "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of liability arising from total deposits.",
        "label": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTotalDeposits",
        "totalLabel": "Total deposits",
        "terseLabel": "Total deposits"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTotalLoans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTotalLoans",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents total loans for business combination recognized identifiable assets acquired and liabilities.",
        "label": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTotalLoans",
        "terseLabel": "Total loans"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTrustPreferredSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTrustPreferredSecurities",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of trust preferred securities assumed at the acquisition date.",
        "label": "cofs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTrustPreferredSecurities",
        "terseLabel": "Trust preferred securities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationSeparatelyRecognizedTransactionsRevenuesAndGainsRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationSeparatelyRecognizedTransactionsRevenuesAndGainsRecognized",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Separately Recognized Transactions, Revenues and Gains Recognized",
        "terseLabel": "Fair value marks on acquired loans, which increased net interest income",
        "documentation": "The revenues and gains recognized recorded for each transaction with the acquiree that is recognized separately from the acquisition of assets and assumptions of liabilities in the business combination."
       }
      }
     },
     "auth_ref": [
      "r1458",
      "r1460"
     ]
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "BusinessCombinationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_BusinessLoanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "BusinessLoanMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Business Loan.",
        "label": "Business Loan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CarryingReportedAmountFairValueDisclosureMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CarryingReportedAmountFairValueDisclosureMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reported Value Measurement [Member]",
        "documentation": "Measured as reported on the statement of financial position (balance sheet)."
       }
      }
     },
     "auth_ref": [
      "r768",
      "r769",
      "r771",
      "r1000",
      "r1504"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalent",
        "totalLabel": "Cash and cash equivalents",
        "documentation": "Amount of cash and cash equivalent. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r196",
      "r1003"
     ]
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r766",
      "r768",
      "r769",
      "r1486",
      "r1487"
     ]
    },
    "us-gaap_CashAndDueFromBanks": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashAndDueFromBanks",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and due from banks",
        "totalLabel": "Cash and Due from Banks, Total",
        "label": "Cash and Due from Banks",
        "documentation": "For banks and other depository institutions: Includes cash on hand (currency and coin), cash items in process of collection, noninterest bearing deposits due from other financial institutions (including corporate credit unions), and noninterest bearing balances with the Federal Reserve Banks, Federal Home Loan Banks and central banks."
       }
      }
     },
     "auth_ref": [
      "r82"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations, Total",
        "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Including Discontinued Operation",
        "periodEndLabel": "Ending cash and cash equivalents",
        "periodStartLabel": "Beginning cash and cash equivalents",
        "documentation": "Amount of cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r75",
      "r242"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation",
        "totalLabel": "Net change in cash and cash equivalents",
        "documentation": "Amount of increase (decrease) in cash and cash equivalent, and cash and cash equivalent restricted to withdrawal or usage; including effect from exchange rate change and including, but not limited to, discontinued operation. Cash includes, but is not limited to, currency on hand, demand deposit with financial institution, and account with general characteristic of demand deposit. Cash equivalent includes, but is not limited to, short-term, highly liquid investment that is both readily convertible to known amount of cash and so near maturity that it presents insignificant risk of change in value because of change in interest rate."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r75"
     ]
    },
    "cofs_CashCollateralPledged": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CashCollateralPledged",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash collateral pledged",
        "documentation": "Cash collateral pledged.",
        "label": "Cash Collateral Pledged"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_CashDividendMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CashDividendMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the cash dividend.",
        "label": "Cash Dividend [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashFlowHedgingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashFlowHedgingMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow Hedging [Member]",
        "documentation": "Hedge of the exposure to variability in the cash flows of a recognized asset or liability, or of a forecasted transaction, that is attributable to a particular risk."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]",
        "terseLabel": "Noncash transactions:"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_CashReceivedFromMerger": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CashReceivedFromMerger",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 24.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Received From Merger",
        "documentation": "Cash received from merger.",
        "terseLabel": "Cash received from merger with Fentura Financial, Inc.",
        "negatedLabel": "Cash received from merger with Fentura Financial, Inc."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashSurrenderValueOfLifeInsurance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CashSurrenderValueOfLifeInsurance",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash value of life insurance policies",
        "label": "Cash Surrender Value of Life Insurance",
        "documentation": "Carrying amount as of the balance sheet date of amounts which could be received based on the terms of the insurance contract upon surrendering life policies owned by the entity."
       }
      }
     },
     "auth_ref": [
      "r1264"
     ]
    },
    "us-gaap_CertainLoansAcquiredInTransferAccretableYield": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CertainLoansAcquiredInTransferAccretableYield",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails": {
       "parentTag": "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesCarryingAmountNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Certain Loans Acquired in Transfer, Accretable Yield",
        "negatedLabel": "Accretable yield",
        "terseLabel": "Estimated accretable interest income",
        "documentation": "The aggregate excess of a loan's cash flows expected to be collected over the investor's initial investment in the loan. This relates to loans with deteriorating of credit quality since origination that were acquired by completion of a transfer for which it is probable, at acquisition, that the investor will be unable to collect all contractually required payments receivable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CertainLoansAcquiredInTransferNonaccretableDifference": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CertainLoansAcquiredInTransferNonaccretableDifference",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails": {
       "parentTag": "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Certain Loans Acquired in Transfer, Nonaccretable Difference",
        "negatedLabel": "Nonaccretable difference",
        "documentation": "The amount of the loan's contractually required payments receivable in excess of the amount of its cash flows expected to be collected. This relates to loans with deteriorating of credit quality since origination that were acquired by completion of a transfer for which it is probable, at acquisition, that the investor will be unable to collect all contractually required payments receivable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYield": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYield",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Certain Loans Acquired in Transfer Not Accounted for as Debt Securities, Accretable Yield",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "documentation": "Amount of the excess of a loan's cash flows expected to be collected over the investor's initial investment in acquired loans not accounted for as debt securities with evidence of deterioration of credit quality."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldAdditions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldAdditions",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Merger with County Bank Corp. on October 1, 2019",
        "label": "Certain Loans Acquired in Transfer Not Accounted for as Debt Securities, Accretable Yield, Additions",
        "documentation": "Amount of additions to the excess of a loan's cash flows expected to be collected over the investor's initial investment in acquired loans not accounted for as debt securities with evidence of deterioration of credit quality."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAccretableYieldReclassificationsFromNonaccretableDifference",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Transfer from non-accretable to accretable yield",
        "label": "Certain Loans Acquired in Transfer Not Accounted for as Debt Securities, Accretable Yield, Reclassifications from Nonaccretable Difference",
        "documentation": "Amount of increase of reclassification from nonaccretable difference to the excess of a loan's cash flows expected to be collected over the investor's initial investment in acquired loans not accounted for as debt securities with evidence of deterioration of credit quality."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails": {
       "parentTag": "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesCarryingAmountNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Expected cash flows",
        "label": "Certain Loans Acquired in Transfer Not Accounted for as Debt Securities, Acquired During Period, Cash Flows Expected to be Collected at Acquisition",
        "documentation": "Amount of cash flows expected to be collected at acquisition of acquired loans not accounted for as debt securities with evidence of deterioration of credit quality."
       }
      }
     },
     "auth_ref": [
      "r140"
     ]
    },
    "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodContractuallyRequiredPaymentsReceivableAtAcquisition",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails": {
       "parentTag": "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesAcquiredDuringPeriodCashFlowsExpectedToBeCollectedAtAcquisition",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loans acquired - contractual payments, Total",
        "label": "Certain Loans Acquired in Transfer Not Accounted for as Debt Securities, Acquired During Period, Contractually Required Payments Receivable at Acquisition",
        "documentation": "Amount of contractually required payments receivable at acquisition of acquired loans not accounted for as debt securities with evidence of deterioration of credit quality."
       }
      }
     },
     "auth_ref": [
      "r140"
     ]
    },
    "us-gaap_CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesCarryingAmountNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CertainLoansAcquiredInTransferNotAccountedForAsDebtSecuritiesCarryingAmountNet",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Carrying balance at acquisition date",
        "label": "Certain Loans Acquired in Transfer Not Accounted for as Debt Securities, Carrying Amount, Net",
        "documentation": "The recorded balance, net of any applicable reductions (for example, unamortized accretable yield and allowance for loan losses). This relates to loans not accounted for debt securities with evidence of deterioration of credit quality since origination that were acquired by completion of a transfer for which it is probable, at acquisition, that the investor will be unable to collect all contractually required payments receivable."
       }
      }
     },
     "auth_ref": [
      "r138"
     ]
    },
    "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Accounting Principle, Accounting Standards Update, Adopted [true false]",
        "documentation": "Indicates (true false) whether accounting standards update was adopted."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r190",
      "r194",
      "r230",
      "r257",
      "r327",
      "r440",
      "r444",
      "r477",
      "r544",
      "r557",
      "r561",
      "r562",
      "r613",
      "r614",
      "r636",
      "r708",
      "r723",
      "r724",
      "r761",
      "r762",
      "r787",
      "r791",
      "r792",
      "r890",
      "r891"
     ]
    },
    "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Accounting Principle, Accounting Standards Update, Adoption Date",
        "documentation": "Date accounting standards update was adopted, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r189",
      "r190",
      "r191",
      "r230",
      "r327",
      "r440",
      "r444",
      "r477",
      "r478",
      "r544",
      "r545",
      "r557",
      "r561",
      "r562",
      "r613",
      "r614",
      "r615",
      "r636",
      "r637",
      "r708",
      "r709",
      "r723",
      "r724",
      "r725",
      "r728",
      "r761",
      "r762",
      "r787",
      "r791",
      "r792",
      "r890",
      "r891",
      "r1262",
      "r1343"
     ]
    },
    "us-gaap_ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Accounting Principle, Accounting Standards Update, Immaterial Effect [true false]",
        "documentation": "Indicates (true false) whether effect from applying amendment to accounting standards is immaterial."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r258",
      "r272",
      "r379"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1207"
     ]
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]",
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r1204"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]",
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r1202"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r1208"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r1208"
     ]
    },
    "us-gaap_CollateralAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CollateralAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collateral Held [Axis]",
        "documentation": "Information by category of collateral or no collateral, from lender's perspective."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r246",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1139",
      "r1140"
     ]
    },
    "cofs_CollateralDependentLoansFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CollateralDependentLoansFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collateral Dependent Loans Fair Value Disclosure",
        "terseLabel": "Collateral Dependent Loans",
        "documentation": "Collateral Dependent Loans Fair Value Disclosure"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CollateralDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CollateralDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collateral Held [Domain]",
        "documentation": "Category of collateral or no collateral, from lender's perspective."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r246",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1139",
      "r1140"
     ]
    },
    "us-gaap_CollateralPledgedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CollateralPledgedMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Collateral Pledged [Member]",
        "terseLabel": "Collateral [Member]",
        "documentation": "Pledge of specific property to serve as protection against default."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r246"
     ]
    },
    "cofs_CommercialAndIndustrialAndResidentialRealEstatePortfolioSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CommercialAndIndustrialAndResidentialRealEstatePortfolioSegmentMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial and Industrial and Residential Real Estate Portfolio Segment.",
        "label": "Commercial And Industrial And Residential Real Estate Portfolio Segment [Member]",
        "terseLabel": "Commercial And Industrial And Residential Real Estate Portfolio Segment [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_CommercialAndIndustrialMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CommercialAndIndustrialMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to commercial and industrial.",
        "label": "Commercial and Industrial [Member]",
        "terseLabel": "Commercial and Industrial [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_CommercialLoansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CommercialLoansMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commercial Loans.",
        "label": "Commercial Loans [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommercialRealEstateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommercialRealEstateMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Real Estate [Member]",
        "terseLabel": "Commercial Real Estate [Member]",
        "documentation": "Property that is solely used for business purposes."
       }
      }
     },
     "auth_ref": [
      "r1038",
      "r1051",
      "r1425",
      "r1426"
     ]
    },
    "us-gaap_CommercialRealEstatePortfolioSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommercialRealEstatePortfolioSegmentMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Real Estate Portfolio Segment [Member]",
        "terseLabel": "Commercial Real Estate [Member]",
        "documentation": "Portfolio segment of the company's total financing receivables related to commercial real estate."
       }
      }
     },
     "auth_ref": [
      "r1392",
      "r1394",
      "r1395",
      "r1396",
      "r1397",
      "r1398",
      "r1399"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockDividendsPerShareDeclared",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Dividends declared, per share (in dollars per share)",
        "label": "Dividends declared per share",
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_CommonStockIncludingAdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockIncludingAdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock and Paid in Capital [Member]",
        "label": "Common Stock Including Additional Paid in Capital [Member]",
        "documentation": "Common stock held by shareholders with par value plus amounts in excess of par value or issuance value (in cases of no-par value stock)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockNoParValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockNoParValue",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnauditedParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value (in dollars per share)",
        "label": "Common Stock, No Par Value",
        "documentation": "Face amount per share of no-par value common stock."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnauditedParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, authorized (in shares)",
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r930"
     ]
    },
    "cofs_CommonStockSharesIssuedNotDisclosed": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CommonStockSharesIssuedNotDisclosed",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnauditedParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Shares Issued Not Disclosed",
        "documentation": "Common stock shares issued not disclosed.",
        "terseLabel": "Common stock, shares issued, not disclosed"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnauditedParentheticals",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, outstanding (in shares)",
        "label": "Common Stock, Shares, Outstanding",
        "periodEndLabel": "Balance (in shares)",
        "periodStartLabel": "Balance (in shares)",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r57",
      "r930",
      "r949",
      "r1567",
      "r1568"
     ]
    },
    "us-gaap_CommonStocksIncludingAdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CommonStocksIncludingAdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stocks, Including Additional Paid in Capital",
        "terseLabel": "Common stock and paid-in capital, no par value; shares authorized: 30,000,000; shares outstanding: 14,960,200 at March 31, 2026 and 15,000,939 at December 31, 2025",
        "documentation": "Amount of par value plus amounts in excess of par value or issuance value for common stock issued."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r59",
      "r81"
     ]
    },
    "us-gaap_Communication": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Communication",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Communication",
        "terseLabel": "Communications",
        "documentation": "The amount of expense incurred in the period for communication, which is the exchange of information by several methods."
       }
      }
     },
     "auth_ref": [
      "r70"
     ]
    },
    "cofs_CommunityShoresBankCorpCommunityShoresMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CommunityShoresBankCorpCommunityShoresMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to community shores bank corp.",
        "label": "Community Shores Bank Corp (\"Community Shores\") [Member]",
        "terseLabel": "Community Shores Bank Corp (\"Community Shores\") [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r1213"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r1212"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r1214"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r1211"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Comprehensive income (loss)",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r215",
      "r217",
      "r223",
      "r846",
      "r872",
      "r873"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r298",
      "r326",
      "r904",
      "r905",
      "r995",
      "r1347",
      "r1348",
      "r1349",
      "r1350",
      "r1351"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r298",
      "r326",
      "r904",
      "r905",
      "r995",
      "r1347",
      "r1348",
      "r1349",
      "r1350",
      "r1351"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r298",
      "r326",
      "r904",
      "r905",
      "r995",
      "r1347",
      "r1348",
      "r1349",
      "r1350",
      "r1351"
     ]
    },
    "cofs_ConcentrationRiskThresholdPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ConcentrationRiskThresholdPercentage",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Threshold Percentage",
        "documentation": "Concentration risk threshold percentage.",
        "terseLabel": "Concentration risk percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r298",
      "r326",
      "r904",
      "r905",
      "r995",
      "r1347",
      "r1348",
      "r1349",
      "r1350",
      "r1351"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Principles of Consolidation",
        "label": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r1018"
     ]
    },
    "cofs_ConstructionRealEstateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ConstructionRealEstateMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to construction real estate.",
        "label": "Construction Real Estate [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_ConsumerLoansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ConsumerLoansMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Consumer Loans.",
        "label": "Consumer Loans [Member]",
        "terseLabel": "Consumer Loans [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConsumerPortfolioSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ConsumerPortfolioSegmentMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consumer Portfolio Segment [Member]",
        "terseLabel": "Consumer [Member]",
        "documentation": "Portfolio segment of the company's total financing receivables related to consumer receivables."
       }
      }
     },
     "auth_ref": [
      "r1392",
      "r1394",
      "r1395",
      "r1396",
      "r1397",
      "r1398",
      "r1399"
     ]
    },
    "cofs_CoreDepositIntangibleIncreasing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CoreDepositIntangibleIncreasing",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Core deposit intangible increasing",
        "label": "Core Deposit Intangible Increasing",
        "documentation": "Core deposit intangible increasing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CorporateDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CorporateDebtSecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate [Member]",
        "label": "Corporate Debt Securities [Member]",
        "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment."
       }
      }
     },
     "auth_ref": [
      "r1076",
      "r1078",
      "r1080",
      "r1124",
      "r1138",
      "r1147",
      "r1559"
     ]
    },
    "cofs_CostCapitalizedToOtherRealEstate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CostCapitalizedToOtherRealEstate",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Costs capitalized to other real estate",
        "label": "Cost Capitalized To Other Real Estate",
        "documentation": "Cost capitalized to other real estate."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_CountyBankCorpCountyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CountyBankCorpCountyMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to County Bank Corp (\"County\").",
        "label": "County Bank Corp (\"County\") [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditLossFinancialInstrumentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CreditLossFinancialInstrumentPolicyTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowance for Credit Losses (\"ACL\")",
        "label": "Credit Loss, Financial Instrument [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security. Includes, but is not limited to, methodology used to estimate allowance for credit loss, how writeoff of uncollectible amount is recognized, and determination of past due status and nonaccrual status."
       }
      }
     },
     "auth_ref": [
      "r383",
      "r384",
      "r385",
      "r387",
      "r388",
      "r396",
      "r402",
      "r403",
      "r405",
      "r406",
      "r411",
      "r412",
      "r413",
      "r414",
      "r416",
      "r417",
      "r418",
      "r423"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Single Customer",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r326",
      "r1348"
     ]
    },
    "cofs_CustomerServiceCharges": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CustomerServiceCharges",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of revenue from customer services charges and fees.",
        "label": "Customer service charges"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_CustomerServiceChargesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "CustomerServiceChargesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer service charges",
        "label": "Customer Service Charges [Member]",
        "documentation": "Customer Service Charges."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r47",
      "r48",
      "r88",
      "r90",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r1061",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1136",
      "r1333",
      "r1334",
      "r1335",
      "r1339",
      "r1411",
      "r1412",
      "r1413",
      "r1507",
      "r1508",
      "r1519"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt instrument, basis spread on variable rate",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentIncreaseDecreaseForPeriodNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentIncreaseDecreaseForPeriodNet",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Increase (Decrease), Net",
        "totalLabel": "Debt Instrument, Increase (Decrease), Net, Total",
        "terseLabel": "Loans decreasing",
        "documentation": "Net increase or decrease in the carrying amount of the debt instrument for the period."
       }
      }
     },
     "auth_ref": [
      "r1333",
      "r1335"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Debt instrument, interest rate, effective percentage",
        "verboseLabel": "Debt instrument, interest rate, effective percentage",
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r476",
      "r785",
      "r786",
      "r1136"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "terseLabel": "Debt instrument, interest rate, stated percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r460"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r705",
      "r853",
      "r1061",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1136",
      "r1333",
      "r1334",
      "r1335",
      "r1339",
      "r1507",
      "r1508"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r1061",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1136",
      "r1333",
      "r1334",
      "r1335",
      "r1339",
      "r1411",
      "r1412",
      "r1413",
      "r1507",
      "r1508",
      "r1519"
     ]
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-Term Debt Instruments [Table]",
        "documentation": "Disclosure of information about long-term debt instrument or arrangement."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r38",
      "r39",
      "r43",
      "r79",
      "r80",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r705",
      "r853",
      "r1061",
      "r1062",
      "r1063",
      "r1064",
      "r1065",
      "r1136",
      "r1333",
      "r1334",
      "r1335",
      "r1339",
      "r1507",
      "r1508"
     ]
    },
    "us-gaap_DebtInstrumentVariableInterestRateTypeExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtInstrumentVariableInterestRateTypeExtensibleEnumeration",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Variable Interest Rate, Type [Extensible Enumeration]",
        "documentation": "Indicates type of variable interest rate on debt instrument."
       }
      }
     },
     "auth_ref": [
      "r857"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "More than 12 months, fair value",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for more than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r422",
      "r1059"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "More than 12 months, unrealized losses",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for 12 months or longer, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r422"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less than 12 months, fair value",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r422",
      "r1059"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails": {
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less than 12 months, unrealized losses",
        "label": "Debt Securities, Available-for-Sale, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in continuous unrealized loss position for less than 12 months, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r422"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Net losses (gains) on sales of available for sale securities",
        "label": "Debt Securities, Available-for-Sale, Gain (Loss)",
        "totalLabel": "Debt Securities, Available-for-Sale, Gain (Loss), Total",
        "documentation": "Amount of unrealized and realized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r1284",
      "r1285"
     ]
    },
    "cofs_DebtSecuritiesAvailableForSaleNumberOfPositionsSold": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesAvailableForSaleNumberOfPositionsSold",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of investments in debt securities measured at fair value which have been sold.",
        "label": "cofs_DebtSecuritiesAvailableForSaleNumberOfPositionsSold",
        "terseLabel": "Debt securities, available-for-sale, number of positions sold"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesAvailableForSalePricePerPosition": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesAvailableForSalePricePerPosition",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "cofs_DebtSecuritiesAvailableForSalePricePerPosition",
        "documentation": "Per position price for debt securities classified as available-for-sale.",
        "terseLabel": "Debt securities, available-for-sale, price per position"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedGain": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleRealizedGain",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSalesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Realized Gain",
        "terseLabel": "Gross realized gains",
        "documentation": "Amount of realized gain on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r374"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleRealizedGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net gains (losses) on sales of securities",
        "label": "Debt Securities, Available-for-Sale, Realized Gain (Loss)",
        "totalLabel": "Debt Securities, Available-for-Sale, Realized Gain (Loss), Total",
        "documentation": "Amount of realized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r1384"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleRealizedLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSalesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Gross realized losses",
        "label": "Debt Securities, Available-for-Sale, Realized Loss",
        "documentation": "Amount of realized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r374"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total, fair value",
        "totalLabel": "Total, fair value",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position",
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position without allowance for credit loss."
       }
      }
     },
     "auth_ref": [
      "r146",
      "r420",
      "r1059"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Accumulated Loss",
        "terseLabel": "Total, unrealized losses",
        "totalLabel": "Total, unrealized losses",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r421"
     ]
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Available for Sale Securities with Unrealize Losses",
        "label": "Debt Securities, Available-for-Sale, Unrealized Loss Position, Fair Value [Table Text Block]",
        "documentation": "Tabular disclosure of fair value of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale), in unrealized loss position, without allowance for credit loss. Includes beneficial interest in securitized financial asset."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r1059",
      "r1404"
     ]
    },
    "cofs_DebtSecuritiesAvailableforsaleAndEquitySecuritiesFVNIMaturityRollingAfterFiveThroughTenYearsFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesAvailableforsaleAndEquitySecuritiesFVNIMaturityRollingAfterFiveThroughTenYearsFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails2": {
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "5 Years - 10 Years",
        "documentation": "Fair value of investment in debt security, measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), maturing in rolling sixth through tenth fiscal year following latest fiscal year. For interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.",
        "label": "5 Years - 10 Years"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesAvailableforsaleAndEquitySecuritiesFVNIMaturityRollingAfterOneThroughFiveYearsFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesAvailableforsaleAndEquitySecuritiesFVNIMaturityRollingAfterOneThroughFiveYearsFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails2": {
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "1 Year - 5 Years",
        "documentation": "Fair value of investment in debt security, measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), maturing in rolling second through fifth fiscal year following latest fiscal year. For interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.",
        "label": "1 Year - 5 Years"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesAvailableforsaleAndEquitySecuritiesFVNIMaturityRollingWithinOneYearFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesAvailableforsaleAndEquitySecuritiesFVNIMaturityRollingWithinOneYearFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails2": {
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less than 1 Year",
        "documentation": "Fair value of investment in debt security, measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), maturing in next rolling fiscal year following latest fiscal year. For interim and annual periods when interim period is reported on rolling approach, from latest statement of financial position date.",
        "label": "Less than 1 Year"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesAvailableforsaleAndHeldtomaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesAvailableforsaleAndHeldtomaturityTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information about investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and measured at amortized cost (held-to-maturity).",
        "label": "Debt Securities, Available-for-Sale and Held-to-Maturity [Table Text Block]",
        "terseLabel": "Schedule of Gross Unrealized Gains (Losses) on Investment Securities Available for Sale Recognized in Accumulated Other Comprehensive Income (loss)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesHeldToMaturityAccruedInterestBeforeAllowanceForCreditLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesHeldToMaturityAccruedInterestBeforeAllowanceForCreditLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Held-to-Maturity, Accrued Interest, before Allowance for Credit Loss",
        "terseLabel": "Securities held to maturity, Accrued interest receivable",
        "documentation": "Amount, before allowance for credit loss, of accrued interest on investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r404"
     ]
    },
    "us-gaap_DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesHeldToMaturityAmortizedCostAfterAllowanceForCreditLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Debt Securities, Held-to-Maturity, Amortized Cost, after Allowance for Credit Loss, Total",
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, after Allowance for Credit Loss",
        "verboseLabel": "Securities held to maturity, at amortized cost (Note 2)",
        "documentation": "Amount, after allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r341",
      "r359",
      "r361",
      "r841"
     ]
    },
    "cofs_DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionLessThanTwelveMonthsAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionLessThanTwelveMonthsAccumulatedLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities, held-to-maturity, continuous unrealized loss position, less than twelve months, accumulated loss.",
        "label": "Debt Securities, Held-to-Maturity, Continuous Unrealized Loss Position, Less than twelve Months, Accumulated Loss",
        "terseLabel": "Less than 12 months, unrealized losses"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less than 12 months, fair value",
        "documentation": "Debt securities, held-to-maturity, continuous unrealized loss position, less than twelve months, fair value.",
        "label": "Debt Securities, Held-to-Maturity, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionTwelveMonthsOrLongerAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionTwelveMonthsOrLongerAccumulatedLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities, held-to-maturity, continuous unrealized loss position, twelve months or longer, accumulated loss.",
        "label": "Debt securities, held-to-maturity, continuous unrealized loss position, twelve months or longer, accumulated loss",
        "terseLabel": "Unrealized loss, more than 12 months"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesHeldToMaturityContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities, held-to-maturity, continuous unrealized loss position, twelve months or longer, fair value.",
        "label": "Debt securities, held-to-maturity, continuous unrealized loss position, twelve months or longer, fair value",
        "terseLabel": "Fair value, more than 12 months"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesHeldToMaturitySecuritiesUnrealizedLossPositionAccumulatedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesHeldToMaturitySecuritiesUnrealizedLossPositionAccumulatedLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Unrealized losses",
        "documentation": "Debt securities, held-to-maturity securities, unrealized loss position, accumulated loss.",
        "label": "Debt securities, held-to-maturity securities, unrealized loss position, accumulated loss"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesHeldToMaturitySecuritiesUnrealizedLossPositionFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesHeldToMaturitySecuritiesUnrealizedLossPositionFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debt securities, held-to-maturity securities, unrealized loss position, fair value.",
        "label": "Debt Securities, Held-to-Maturity securities, Unrealized Loss Position, Fair Value",
        "totalLabel": "Fair value"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DebtSecuritiesHeldtomaturityFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesHeldtomaturityFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of investment in debt security measured at amortized cost (held-to-maturity).",
        "label": "Securities held to maturity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total debt securities [Member]",
        "label": "Debt Securities [Member]",
        "verboseLabel": "Securities [Member]",
        "documentation": "Debt instrument issued by corporations, governments and governmental agencies, municipalities, and other institutions."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r1150",
      "r1569"
     ]
    },
    "cofs_DebtSecuritiesPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DebtSecuritiesPercent",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Debt Securities, Percent",
        "label": "Debt Securities Percent",
        "documentation": "Debt securities percent."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtSecuritiesTradingAndEquitySecuritiesFvNiCostAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DebtSecuritiesTradingAndEquitySecuritiesFvNiCostAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Trading, and Equity Securities, FV-NI, Cost [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DecemberTwoThousandAndFourOfferingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DecemberTwoThousandAndFourOfferingMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "December Two Thousand And Four Offering [Member]",
        "documentation": "December two thousand and four offering.",
        "terseLabel": "December 2004 Offering [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DecemberTwoThousandAndThreeOfferingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DecemberTwoThousandAndThreeOfferingMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "December Two thousand and three offering [Member]",
        "documentation": "December two thousand and three offering.",
        "terseLabel": "December 2003 offering [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 23.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred federal income tax (benefit)/expense",
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r1333",
      "r1338",
      "r1454",
      "r1455"
     ]
    },
    "cofs_DeferredTaxLiabilitiesIncreasing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DeferredTaxLiabilitiesIncreasing",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities Increasing",
        "documentation": "Deferred tax liabilities increasing.",
        "terseLabel": "Deferred tax liabilities increasing"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Deposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Deposits",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits",
        "totalLabel": "Total deposits",
        "documentation": "The aggregate of all deposit liabilities held by the entity, including foreign and domestic, interest and noninterest bearing; may include demand deposits, saving deposits, Negotiable Order of Withdrawal (NOW) and time deposits among others."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_DepositsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DepositsFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Brokered deposits",
        "label": "Deposits, Fair Value Disclosure",
        "documentation": "Fair value portion of deposit liabilities held by the entity, including, but not limited to, foreign and domestic, interest and noninterest bearing, demand deposits, saving deposits, negotiable orders of withdrawal (NOW) and time deposits."
       }
      }
     },
     "auth_ref": [
      "r766",
      "r768",
      "r769",
      "r1486",
      "r1487",
      "r1497"
     ]
    },
    "us-gaap_DepositsSavingsDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DepositsSavingsDeposits",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Deposits",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits, Savings Deposits",
        "terseLabel": "Savings deposits (Note 9)",
        "documentation": "Amount of interest bearing deposits with no stated maturity, which may include passbook and statement savings accounts and money-market deposit accounts (MMDAs)."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Depreciation",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Depreciation",
        "totalLabel": "Depreciation, Total",
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r36",
      "r228",
      "r1010",
      "r1011",
      "r1013",
      "r1015"
     ]
    },
    "us-gaap_DerivativeAssetStatementOfFinancialPositionExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeAssetStatementOfFinancialPositionExtensibleEnumeration",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Asset, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes derivative asset."
       }
      }
     },
     "auth_ref": [
      "r1273"
     ]
    },
    "us-gaap_DerivativeAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Derivative Asset, Total",
        "label": "Interest rate contracts",
        "verboseLabel": "Interest rate contracts",
        "terseLabel": "Derivative assets, Fair Value",
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r205",
      "r704",
      "r735",
      "r736",
      "r751",
      "r766",
      "r768",
      "r769",
      "r913",
      "r914",
      "r915",
      "r916",
      "r917",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r936",
      "r937",
      "r976",
      "r981",
      "r983",
      "r984",
      "r985",
      "r986",
      "r1000",
      "r1005",
      "r1007",
      "r1008",
      "r1009",
      "r1124",
      "r1128",
      "r1135",
      "r1150",
      "r1488",
      "r1489",
      "r1490",
      "r1562"
     ]
    },
    "us-gaap_DerivativeBasisSpreadOnVariableRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeBasisSpreadOnVariableRate",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative, Basis Spread on Variable Rate",
        "label": "Derivative, Basis Spread on Variable Rate",
        "documentation": "The percentage points added to the reference rate to compute the variable rate on the interest rate derivative."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DerivativeContractMaturityYear": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DerivativeContractMaturityYear",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Contract Maturity Year",
        "documentation": "Derivative, contract maturity year.",
        "terseLabel": "Derivative, contract maturity year"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Contract [Domain]",
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r656",
      "r657",
      "r658",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r920",
      "r922",
      "r935",
      "r936",
      "r937",
      "r939",
      "r940",
      "r941",
      "r942",
      "r944",
      "r945",
      "r946",
      "r947",
      "r956",
      "r957",
      "r958",
      "r959",
      "r962",
      "r963",
      "r964",
      "r965",
      "r976",
      "r978",
      "r983",
      "r985",
      "r1005",
      "r1006",
      "r1009",
      "r1117",
      "r1119",
      "r1149",
      "r1150",
      "r1266",
      "r1267",
      "r1268",
      "r1269",
      "r1270",
      "r1271",
      "r1272",
      "r1273",
      "r1274",
      "r1479",
      "r1480",
      "r1481",
      "r1482",
      "r1491",
      "r1492",
      "r1493",
      "r1494",
      "r1495",
      "r1496",
      "r1498",
      "r1499"
     ]
    },
    "us-gaap_DerivativeFairValueOfDerivativeNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeFairValueOfDerivativeNet",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Derivative, Fair Value, Net, Total",
        "label": "Derivative, Fair Value, Net",
        "terseLabel": "Fair Value",
        "verboseLabel": "Fair value",
        "documentation": "Fair value of the assets less the liabilities of a derivative or group of derivatives."
       }
      }
     },
     "auth_ref": [
      "r766"
     ]
    },
    "cofs_DerivativeFixedCouponRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DerivativeFixedCouponRate",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fixed coupon rate related to the derivative.",
        "label": "cofs_DerivativeFixedCouponRate",
        "terseLabel": "Derivative, fixed coupon rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeGainLossOnDerivativeNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeGainLossOnDerivativeNet",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Derivative, Gain (Loss) on Derivative, Net, Total",
        "label": "Derivative, Gain (Loss) on Derivative, Net",
        "verboseLabel": "Total amounts of income and expense line items presented in the consolidated statements of income in which the effects of fair value or cash flow hedges are recorded",
        "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement."
       }
      }
     },
     "auth_ref": [
      "r1000",
      "r1473"
     ]
    },
    "us-gaap_DerivativeGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of income or comprehensive income that includes gain (loss) from derivative."
       }
      }
     },
     "auth_ref": [
      "r1473"
     ]
    },
    "cofs_DerivativeInstrumentCashPayment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DerivativeInstrumentCashPayment",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative instrument cash payment",
        "label": "Derivative Instrument Cash Payment",
        "documentation": "Derivative instrument cash payment."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DerivativeInstrumentGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DerivativeInstrumentGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net",
        "documentation": "Derivative instrument, gain (loss) reclassified from accumulated OCI into income, effective portion, net.",
        "terseLabel": "Amount of gain or (loss) reclassified from accumulated other comprehensive income into income"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DerivativeInstrumentGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DerivativeInstrumentGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument, Gain (Loss) Recognized in Income, Ineffective Portion and Amount Excluded from Effectiveness Testing, Net",
        "documentation": "Derivative instrument, gain (loss) recognized in income, ineffective portion and amount excluded from effectiveness testing, net.",
        "terseLabel": "Amount excluded from effectiveness testing recognized in earnings based on amortization approach"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r656",
      "r657",
      "r658",
      "r660",
      "r661",
      "r662",
      "r663",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r920",
      "r922",
      "r935",
      "r936",
      "r937",
      "r939",
      "r940",
      "r941",
      "r942",
      "r944",
      "r945",
      "r946",
      "r947",
      "r956",
      "r957",
      "r958",
      "r959",
      "r962",
      "r963",
      "r964",
      "r965",
      "r976",
      "r978",
      "r983",
      "r985",
      "r1005",
      "r1006",
      "r1009",
      "r1117",
      "r1119",
      "r1149",
      "r1150",
      "r1266",
      "r1267",
      "r1268",
      "r1269",
      "r1270",
      "r1271",
      "r1272",
      "r1273",
      "r1274",
      "r1479",
      "r1480",
      "r1481",
      "r1482",
      "r1491",
      "r1492",
      "r1493",
      "r1494",
      "r1495",
      "r1496",
      "r1498",
      "r1499"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedging Activities Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative and Hedging Activities",
        "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]",
        "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts."
       }
      }
     },
     "auth_ref": [
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r691",
      "r692",
      "r693",
      "r694",
      "r695",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r706",
      "r722",
      "r1117",
      "r1119",
      "r1120",
      "r1121",
      "r1122"
     ]
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Relationship [Axis]",
        "documentation": "Information by type of hedging relationship."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Table]",
        "documentation": "Disclosure of information about the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r657",
      "r658",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r1119"
     ]
    },
    "us-gaap_DerivativeInstrumentsGainLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeInstrumentsGainLossLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r657",
      "r658",
      "r664",
      "r665",
      "r666",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r1119"
     ]
    },
    "cofs_DerivativeInstrumentsNetCashSettlementsReceived": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DerivativeInstrumentsNetCashSettlementsReceived",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents net cash settlements received for derivative instruments.",
        "label": "Derivative Instruments Net Cash Settlements Received",
        "terseLabel": "Derivative Instruments, Net cash settlements received",
        "verboseLabel": "Derivative Instruments, Net settlements received"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Derivative Liability, Total",
        "terseLabel": "Interest rate contracts",
        "verboseLabel": "Derivative instruments liabilities",
        "label": "Derivative liabilities",
        "documentation": "Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r205",
      "r704",
      "r735",
      "r736",
      "r751",
      "r766",
      "r768",
      "r769",
      "r913",
      "r914",
      "r915",
      "r916",
      "r918",
      "r919",
      "r920",
      "r921",
      "r922",
      "r944",
      "r946",
      "r947",
      "r978",
      "r979",
      "r981",
      "r983",
      "r984",
      "r985",
      "r986",
      "r1005",
      "r1007",
      "r1008",
      "r1009",
      "r1488",
      "r1489",
      "r1490",
      "r1562"
     ]
    },
    "us-gaap_DerivativeLiabilityStatementOfFinancialPositionExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeLiabilityStatementOfFinancialPositionExtensibleEnumeration",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Liability, Statement of Financial Position [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of financial position that includes derivative liability."
       }
      }
     },
     "auth_ref": [
      "r1273"
     ]
    },
    "us-gaap_DerivativeLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r722",
      "r1483"
     ]
    },
    "us-gaap_DerivativeLossOnDerivative": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeLossOnDerivative",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Loss on Derivative",
        "terseLabel": "Loss on derivative",
        "documentation": "Amount of decrease in the fair value of derivatives recognized in the income statement."
       }
      }
     },
     "auth_ref": [
      "r1473"
     ]
    },
    "us-gaap_DerivativeNotionalAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeNotionalAmount",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Derivative, Notional Amount",
        "verboseLabel": "Notional Amount",
        "label": "Derivative, notional amount",
        "documentation": "Nominal or face amount used to calculate payment on derivative."
       }
      }
     },
     "auth_ref": [
      "r1117",
      "r1470",
      "r1471"
     ]
    },
    "us-gaap_DerivativeNumberOfInstrumentsHeld": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeNumberOfInstrumentsHeld",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Derivative, Number of Instruments Held, Total",
        "label": "Derivative, Number of Instruments Held",
        "terseLabel": "Derivative, number of instruments held",
        "documentation": "The number of derivative instruments of a particular group held by the entity."
       }
      }
     },
     "auth_ref": [
      "r921",
      "r976",
      "r977",
      "r980",
      "r1150",
      "r1470",
      "r1471"
     ]
    },
    "us-gaap_DerivativeRemainingMaturity1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeRemainingMaturity1",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Remaining Maturity",
        "terseLabel": "Remaining on the life of the swap",
        "documentation": "Period remaining until the derivative contract matures, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeSwaptionInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeSwaptionInterestRate",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed rate swaps",
        "label": "Derivative, Swaption Interest Rate",
        "documentation": "Fixed interest rate that will be received or paid upon exercise of the interest rate swaption contract."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative [Table]",
        "documentation": "Disclosure of information about derivative instrument or group of derivative instruments, including, but not limited to, type of derivative instrument, risk being hedged, notional amount, hedge designation, related hedged item, inception date, and maturity date."
       }
      }
     },
     "auth_ref": [
      "r722",
      "r1483"
     ]
    },
    "us-gaap_DerivativeTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativeTermOfContract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Term of Contract",
        "terseLabel": "Derivative, Term of Contract (Year)",
        "documentation": "Period the derivative contract is outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DerivativeWeightedAverageCouponRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DerivativeWeightedAverageCouponRate",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Weighted Average Coupon Rate",
        "documentation": "Derivative weighted average coupon rate.",
        "terseLabel": "Derivative weighted average coupon rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DerivativesFairValueLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Fair Value [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r656",
      "r660",
      "r661",
      "r662",
      "r663",
      "r1119"
     ]
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DesignatedAsHedgingInstrumentMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Designated as Hedging Instrument [Member]",
        "terseLabel": "Not designated as hedges",
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_DirectorsStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "DirectorsStockPurchasePlanMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information Directors' Stock Purchase Plan.",
        "label": "Directors' Stock Purchase Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r501",
      "r502",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r501",
      "r502",
      "r1069",
      "r1070",
      "r1071",
      "r1072",
      "r1073",
      "r1074",
      "r1075"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Noninterest Income Separated by Revenue",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r1424"
     ]
    },
    "us-gaap_DividendsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DividendsAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends [Axis]",
        "documentation": "Information by event wherein earnings are distributed to shareholder."
       }
      }
     },
     "auth_ref": [
      "r1421",
      "r1422"
     ]
    },
    "us-gaap_DividendsCommonStockCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DividendsCommonStockCash",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends, Common Stock, Cash",
        "negatedLabel": "Cash dividends declared",
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_DividendsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DividendsDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends [Domain]",
        "documentation": "Event wherein earnings are distributed to shareholder."
       }
      }
     },
     "auth_ref": [
      "r1421",
      "r1422"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentInformationTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Information [Table]",
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r1163"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r1195"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "DocumentType",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DoubtfulMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "DoubtfulMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Doubtful [Member]",
        "documentation": "A category of financing receivables that have all the weaknesses inherent in those classified as substandard, with the added characteristic that the weaknesses make collection or liquidation in full, on the basis of currently existing facts, conditions, and values, highly questionable and improbable."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1402",
      "r1403"
     ]
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]",
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year"
       }
      }
     },
     "auth_ref": [
      "r1206"
     ]
    },
    "cofs_EarningOnDeathBenefitFromBankOwnedLifeInsurance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "EarningOnDeathBenefitFromBankOwnedLifeInsurance",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 26.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Earnings on death benefit from bank-owned life insurance",
        "label": "Earning on Death Benefit From Bank Owned Life Insurance",
        "documentation": "Represents earnings on death benefit from bank owned life insurance."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic earnings per common shares",
        "terseLabel": "Basic (loss) earnings per common shares",
        "verboseLabel": "Basic earnings (loss) per share (Note 4)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r224",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r275",
      "r278",
      "r288",
      "r289",
      "r290",
      "r294",
      "r480",
      "r546",
      "r568",
      "r640",
      "r732",
      "r733",
      "r847",
      "r874",
      "r1022"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted earnings per common share",
        "terseLabel": "Diluted (loss) earnings per common share",
        "verboseLabel": "Diluted earnings (loss) per share (Note 4)",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r224",
      "r261",
      "r262",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r278",
      "r288",
      "r289",
      "r290",
      "r294",
      "r480",
      "r546",
      "r568",
      "r640",
      "r732",
      "r733",
      "r847",
      "r874",
      "r1022"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings Per Share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r274",
      "r291",
      "r292",
      "r293"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "verboseLabel": "Stock Options [Member]",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": [
      "r1427",
      "r1428",
      "r1429",
      "r1430",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435",
      "r1436",
      "r1437",
      "r1438",
      "r1439",
      "r1440",
      "r1441",
      "r1442",
      "r1443",
      "r1444",
      "r1445",
      "r1446",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452"
     ]
    },
    "cofs_EmployeeStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "EmployeeStockPurchasePlanMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to Employee Stock Purchase Plan.",
        "label": "Employee Stock Purchase Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity [Domain]",
        "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities Act File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r1245"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r1161"
     ]
    },
    "us-gaap_EntityWideRevenueMajorCustomerLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EntityWideRevenueMajorCustomerLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Major Customer [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Footnote [Text Block]",
        "terseLabel": "Equity Awards Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1200"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]",
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1241"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments [Member]",
        "terseLabel": "Equity Awards Adjustments"
       }
      }
     },
     "auth_ref": [
      "r1241"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r1241"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r186",
      "r193",
      "r194",
      "r218",
      "r219",
      "r220",
      "r254",
      "r255",
      "r256",
      "r259",
      "r267",
      "r269",
      "r271",
      "r296",
      "r378",
      "r382",
      "r441",
      "r479",
      "r491",
      "r546",
      "r555",
      "r556",
      "r564",
      "r565",
      "r566",
      "r569",
      "r639",
      "r640",
      "r710",
      "r712",
      "r713",
      "r714",
      "r715",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r731",
      "r777",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r787",
      "r789",
      "r796",
      "r870",
      "r892",
      "r893",
      "r894",
      "r910",
      "r968"
     ]
    },
    "us-gaap_EquitySecuritiesFvNi": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquitySecuritiesFvNi",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfEquitySecuritiesAndRelatedGrossUnrealizedGainsLossesRecognizedInInterestIncomeDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value",
        "verboseLabel": "Equity securities, at fair value (Note 2)",
        "terseLabel": "Equity securities at fair value",
        "documentation": "Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as current."
       }
      }
     },
     "auth_ref": [
      "r200",
      "r764",
      "r1004"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquitySecuritiesFvNiCost",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfEquitySecuritiesAndRelatedGrossUnrealizedGainsLossesRecognizedInInterestIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortized Cost",
        "label": "Equity Securities, FV-NI, Cost",
        "documentation": "Cost of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI). Excludes equity method investment and investment in equity security without readily determinable fair value."
       }
      }
     },
     "auth_ref": [
      "r859"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquitySecuritiesFvNiGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesUnrealizedGainsAndLossesOnEquitySecuritiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesUnrealizedGainsAndLossesOnEquitySecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net gains and (losses) recognized during the period",
        "negatedTotalLabel": "Net gains and (losses) recognized during the period",
        "negatedLabel": "Net change in market value of equity securities",
        "label": "Change in market value of equity securities",
        "terseLabel": "Net gains and (losses) recognized during the period",
        "documentation": "Amount of unrealized and realized gain (loss) on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r877",
      "r1388"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiRealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquitySecuritiesFvNiRealizedGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesUnrealizedGainsAndLossesOnEquitySecuritiesDetails": {
       "parentTag": "us-gaap_EquitySecuritiesFvNiGainLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesUnrealizedGainsAndLossesOnEquitySecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Equity Securities, FV-NI, Realized Gain (Loss), Total",
        "label": "Equity Securities, FV-NI, Realized Gain (Loss)",
        "terseLabel": "Less: Net gains and (losses) recognized during the period on securities sold",
        "documentation": "Amount of realized gain (loss) from sale of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r875",
      "r1388"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiUnrealizedGain": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquitySecuritiesFvNiUnrealizedGain",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfEquitySecuritiesAndRelatedGrossUnrealizedGainsLossesRecognizedInInterestIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Securities, FV-NI, Unrealized Gain",
        "terseLabel": "Gross Unrealized Gains",
        "documentation": "Amount of unrealized gain on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r376"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiUnrealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquitySecuritiesFvNiUnrealizedGainLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesUnrealizedGainsAndLossesOnEquitySecuritiesDetails": {
       "parentTag": "us-gaap_EquitySecuritiesFvNiGainLoss",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 14.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 30.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesUnrealizedGainsAndLossesOnEquitySecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Net change in market value of equity securities",
        "label": "Net change in market value of equity securities",
        "verboseLabel": "Change in market value of equity securities",
        "totalLabel": "Unrealized gains and (losses) recognized during the reporting period on securities still held at the reporting date",
        "terseLabel": "Unrealized gains and (losses) recognized during the reporting period on securities still held at the reporting date",
        "documentation": "Amount of unrealized gain (loss) on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r876",
      "r1388"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiUnrealizedLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquitySecuritiesFvNiUnrealizedLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfEquitySecuritiesAndRelatedGrossUnrealizedGainsLossesRecognizedInInterestIncomeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Securities, FV-NI, Unrealized Loss",
        "negatedLabel": "Gross Unrealized Losses",
        "documentation": "Amount of unrealized loss on investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r376"
     ]
    },
    "us-gaap_EquitySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EquitySecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Securities [Member]",
        "documentation": "Ownership interest or right to acquire or dispose of ownership interest in corporations and other legal entities for which ownership interest is represented by shares of common or preferred stock, convertible securities, stock rights, or stock warrants."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r1138",
      "r1154",
      "r1155",
      "r1156",
      "r1569"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1210"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r1168",
      "r1178",
      "r1188",
      "r1220"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1175",
      "r1185",
      "r1217"
     ]
    },
    "us-gaap_EstimateOfFairValueFairValueDisclosureMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EstimateOfFairValueFairValueDisclosureMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimate of Fair Value Measurement [Member]",
        "documentation": "Measured as an estimate of fair value."
       }
      }
     },
     "auth_ref": [
      "r467",
      "r766",
      "r768",
      "r771",
      "r1000",
      "r1062",
      "r1063"
     ]
    },
    "us-gaap_EurodollarMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "EurodollarMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Eurodollar [Member]",
        "documentation": "Interest rate based on U.S. dollar denominated deposits at foreign banks or foreign branches of U.S. banks."
       }
      }
     },
     "auth_ref": [
      "r1265",
      "r1417"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r1216"
     ]
    },
    "us-gaap_ExternalCreditRatingByGroupingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ExternalCreditRatingByGroupingAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "External Credit Rating by Grouping [Axis]",
        "documentation": "Information by external rating classified as investment grade or non investment grade."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1401"
     ]
    },
    "us-gaap_ExternalCreditRatingByGroupingDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ExternalCreditRatingByGroupingDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "External Credit Rating by Grouping [Domain]",
        "documentation": "External credit rating classified as investment grade or non-investment grade."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FETMSharesRetiredMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FETMSharesRetiredMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "FETM Shares Retired [Member]",
        "documentation": "FETM shares retired.",
        "terseLabel": "FETM Shares Retired [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r735",
      "r736",
      "r751",
      "r1124"
     ]
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring and Nonrecurring [Table]",
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis."
       }
      }
     },
     "auth_ref": [
      "r735",
      "r736",
      "r751",
      "r1124"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnNonrecurringBasisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueAssetsMeasuredOnNonrecurringBasisTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Assets Measured at Fair Value on a Non-recurring Basis",
        "label": "Fair Value Measurements, Nonrecurring [Table Text Block]",
        "documentation": "Tabular disclosure of assets and liabilities by class, including financial instruments measured at fair value that are classified in shareholders' equity, if any, that are measured at fair value on a nonrecurring basis in periods after initial recognition (for example, impaired assets). Disclosures may include, but are not limited to: (a) the fair value measurements recorded and the reasons for the measurements and (b) the level within the fair value hierarchy in which the fair value measurements are categorized in their entirety (levels 1, 2, 3)."
       }
      }
     },
     "auth_ref": [
      "r1486",
      "r1487"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Assets and Liabilities Measured at Fair Value",
        "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]",
        "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r1486",
      "r1487"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Domain]",
        "documentation": "Class of asset."
       }
      }
     },
     "auth_ref": [
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r752",
      "r1000",
      "r1126",
      "r1135"
     ]
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Changes in Level 3 Assets Measured at Fair Value on a Recurring Basis",
        "label": "Fair Value, Assets Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]",
        "documentation": "Tabular disclosure of the fair value measurement of assets using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes during the period attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets) and gains or losses recognized in other comprehensive income (loss), and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs), by class of asset."
       }
      }
     },
     "auth_ref": [
      "r740",
      "r745",
      "r752",
      "r1126"
     ]
    },
    "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r766",
      "r768",
      "r769",
      "r1000",
      "r1135",
      "r1504"
     ]
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByAssetClassAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asset Class [Axis]",
        "documentation": "Information by class of asset."
       }
      }
     },
     "auth_ref": [
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r752",
      "r1000",
      "r1126",
      "r1135"
     ]
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByBalanceSheetGroupingTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, by Balance Sheet Grouping [Table]",
        "documentation": "Disclosure of information about the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities."
       }
      }
     },
     "auth_ref": [
      "r766",
      "r769",
      "r1000",
      "r1135",
      "r1502",
      "r1504"
     ]
    },
    "us-gaap_FairValueByBalanceSheetGroupingTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByBalanceSheetGroupingTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, by Balance Sheet Grouping [Table Text Block]",
        "terseLabel": "Summary of Financial Instruments",
        "documentation": "Tabular disclosure of the fair value of financial instruments, including financial assets and financial liabilities, and the measurements of those instruments, assets, and liabilities."
       }
      }
     },
     "auth_ref": [
      "r767",
      "r770",
      "r1000",
      "r1135",
      "r1504"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Axis]",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r467",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r734",
      "r736",
      "r737",
      "r738",
      "r739",
      "r748",
      "r751",
      "r753",
      "r766",
      "r801",
      "r802",
      "r803",
      "r1000",
      "r1062",
      "r1063",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1124",
      "r1128",
      "r1135"
     ]
    },
    "us-gaap_FairValueByMeasurementBasisAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByMeasurementBasisAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Basis [Axis]",
        "documentation": "Information by measurement basis."
       }
      }
     },
     "auth_ref": [
      "r467",
      "r766",
      "r768",
      "r769",
      "r771",
      "r773",
      "r774",
      "r1000",
      "r1062",
      "r1063",
      "r1504"
     ]
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueByMeasurementFrequencyAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Axis]",
        "documentation": "Information by measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r735",
      "r736",
      "r737",
      "r739",
      "r1124",
      "r1489",
      "r1500"
     ]
    },
    "us-gaap_FairValueDisclosureItemAmountsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueDisclosureItemAmountsDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Measurement [Domain]",
        "documentation": "Measurement basis, for example, but not limited to, reported value, fair value, portion at fair value, portion at other than fair value."
       }
      }
     },
     "auth_ref": [
      "r467",
      "r1062",
      "r1063"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueDisclosuresAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Measurements",
        "label": "Fair Value Disclosures [Text Block]",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r737",
      "r744",
      "r746",
      "r747",
      "r748",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r839",
      "r1124",
      "r1129"
     ]
    },
    "us-gaap_FairValueHedgingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueHedgingMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hedging [Member]",
        "documentation": "A hedge of the exposure to changes in the fair value of a recognized asset or liability, or of an unrecognized firm commitment, that are attributable to a particular risk."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r467",
      "r505",
      "r510",
      "r511",
      "r736",
      "r751",
      "r766",
      "r801",
      "r1000",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1124",
      "r1135"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r467",
      "r505",
      "r510",
      "r511",
      "r513",
      "r736",
      "r737",
      "r751",
      "r766",
      "r802",
      "r1000",
      "r1062",
      "r1063",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1124",
      "r1135"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Inputs, Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r467",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r736",
      "r737",
      "r738",
      "r739",
      "r751",
      "r766",
      "r803",
      "r1000",
      "r1062",
      "r1063",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1124",
      "r1128",
      "r1135"
     ]
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisChangeInUnrealizedGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Liability, Recurring Basis, Still Held, Unrealized Gain (Loss)",
        "terseLabel": "Amount of total losses for the period included in earnings attributable to the change in unrealized gains (losses) relating to assets and liabilities still held at March 31,",
        "documentation": "Amount of unrealized gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3) and still held."
       }
      }
     },
     "auth_ref": [
      "r745",
      "r752"
     ]
    },
    "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisSubordinatedDebtObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisSubordinatedDebtObligations",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subordinated Debt Obligations, Fair Value Disclosure",
        "verboseLabel": "Subordinated debentures",
        "documentation": "Fair value of subordinated debt obligations including, but not limited to, subordinated loan, subordinated bond, subordinated debenture or junior debt."
       }
      }
     },
     "auth_ref": [
      "r1486",
      "r1487",
      "r1497",
      "r1501",
      "r1502",
      "r1503",
      "r1505"
     ]
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementFrequencyDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measurement Frequency [Domain]",
        "documentation": "Measurement frequency."
       }
      }
     },
     "auth_ref": [
      "r735",
      "r736",
      "r737",
      "r739",
      "r1124",
      "r1489",
      "r1500"
     ]
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetGainLossIncludedInEarnings1",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Gain (Loss) Included in Earnings",
        "terseLabel": "Total realized and unrealized (losses) gains included in noninterest income",
        "documentation": "Amount of gain (loss) recognized in income from asset measured at fair value on recurring basis using unobservable input (level 3)."
       }
      }
     },
     "auth_ref": [
      "r741",
      "r752",
      "r1126",
      "r1127"
     ]
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchases",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Purchases",
        "terseLabel": "Securities purchased",
        "documentation": "Amount of purchases of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r743",
      "r749",
      "r752",
      "r1126"
     ]
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchasesSalesIssuancesSettlements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetPurchasesSalesIssuancesSettlements",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Purchases, (Sales), Issuances, (Settlements), Total",
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset, Purchases, (Sales), Issuances, (Settlements)",
        "terseLabel": "Net purchases, sales, calls, and maturities",
        "documentation": "Amount of purchases, (sales), issuances and (settlements) of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r1494",
      "r1499"
     ]
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersIntoLevel3",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Transfers Into Level 3",
        "terseLabel": "Net transfers into Level 3",
        "documentation": "Amount of transfer of financial instrument classified as an asset into level 3 of the fair value hierarchy."
       }
      }
     },
     "auth_ref": [
      "r744",
      "r750",
      "r752",
      "r1126"
     ]
    },
    "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetValue",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsChangesInLevel3AssetsMeasuredAtFairValueOnARecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Asset Value",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "documentation": "Fair value of financial instrument classified as an asset measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r740",
      "r752",
      "r1126"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r467",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511",
      "r512",
      "r734",
      "r736",
      "r737",
      "r738",
      "r739",
      "r748",
      "r751",
      "r753",
      "r766",
      "r801",
      "r802",
      "r803",
      "r1000",
      "r1062",
      "r1063",
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1124",
      "r1128",
      "r1135"
     ]
    },
    "us-gaap_FairValueMeasurementsNonrecurringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementsNonrecurringMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Nonrecurring [Member]",
        "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value."
       }
      }
     },
     "auth_ref": [
      "r735",
      "r736",
      "r737",
      "r739",
      "r1124",
      "r1489"
     ]
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValueMeasurementsRecurringMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value, Recurring [Member]",
        "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value."
       }
      }
     },
     "auth_ref": [
      "r1124",
      "r1486",
      "r1487",
      "r1488",
      "r1489",
      "r1490",
      "r1500"
     ]
    },
    "cofs_FairValueOfInterestRateSwaps": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FairValueOfInterestRateSwaps",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value Of Interest Rate Swaps",
        "documentation": "Fair value of interest rate swaps.",
        "terseLabel": "Fair value of interest rate swaps"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]",
        "documentation": "Disclosure of information about location and fair value of derivative instrument and nonderivative instrument designated as hedging instrument."
       }
      }
     },
     "auth_ref": [
      "r656",
      "r660",
      "r661",
      "r662",
      "r663",
      "r1119"
     ]
    },
    "us-gaap_FederalDepositInsuranceCorporationPremiumExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalDepositInsuranceCorporationPremiumExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "FDIC insurance",
        "documentation": "Amount of expense for Federal Deposit Insurance Corporation (FDIC) insurance."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_FederalHomeLoanBankAdvancesBranchOfFHLBBankInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankAdvancesBranchOfFHLBBankInterestRate",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank, Advance, Branch of FHLBank, Interest Rate",
        "terseLabel": "Interest rate",
        "documentation": "Rate of interest applicable on advance from Federal Home Loan Bank (FHLBank)."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r112"
     ]
    },
    "us-gaap_FederalHomeLoanBankAdvancesBranchOfFHLBBankLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankAdvancesBranchOfFHLBBankLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank, Advance, Branch of FHLBank [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalHomeLoanBankAdvancesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankAdvancesDisclosureTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances, Disclosure [Text Block]",
        "terseLabel": "Borrowings",
        "documentation": "The entire disclosure for borrowing from the Federal Home Loan Bank, including: (i) general description; (ii) title and nature of obligation; (iii) interest rate; (iv) payment terms; (v) maturity dates by year; (vi) collateral requirements; (vii) restrictive covenants; (viii) priority; (ix) conversion or redemption features; (x) carrying value of assets pledged as collateral; (xi) combined aggregate maturities for next five years; (xii) unused or available balances."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r43",
      "r87",
      "r112"
     ]
    },
    "us-gaap_FederalHomeLoanBankAdvancesGeneralDebtObligationsDisclosuresAmountOfAvailableUnusedFunds": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankAdvancesGeneralDebtObligationsDisclosuresAmountOfAvailableUnusedFunds",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank, Advances, General Debt Obligations, Amount of Available, Unused Funds",
        "terseLabel": "Federal home loan bank, advances, general debt obligations, amount of available, unused funds",
        "documentation": "Amount of advances or credit lines available from the Federal Home Loan Bank (FHLB)."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r87",
      "r112"
     ]
    },
    "us-gaap_FederalHomeLoanBankAdvancesGeneralDebtObligationsDisclosuresCollateralPledged1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankAdvancesGeneralDebtObligationsDisclosuresCollateralPledged1",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank, Advances, General Debt Obligations, Disclosures, Collateral Pledged",
        "terseLabel": "Federal home loan bank, advances, general debt obligations, disclosures, collateral pledged",
        "documentation": "Amount of the collateral pledged in support of federal home loan bank advances outstanding."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r112"
     ]
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingDecember2026Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingDecember2026Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal Home Loan Bank Advances Maturing December 2026.",
        "label": "Federal Home Loan Bank Advances Maturing December 2026 Member]",
        "terseLabel": "Federal Home Loan Bank Advances Maturing December 2026 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingDecember2026OneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingDecember2026OneMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances Maturing December 2026 One [Member]",
        "documentation": "Federal Home Loan Bank Advances maturing december 2026 One."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingDecember2027Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingDecember2027Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances Maturing December 2027 [Member]",
        "documentation": "Federal Home Loan Bank Advances maturing december 2027."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingJanuary2026Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingJanuary2026Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal Home Loan Bank Advances maturing january 2026.",
        "label": "Federal Home Loan Bank Advances Maturing January 2026 [Member]",
        "terseLabel": "Federal Home Loan Bank Advances Maturing January 2026 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingJune2026Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingJune2026Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances Maturing June 2026 [Member]",
        "documentation": "Federal Home Loan Bank Advances Maturing June 2026."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingJune2026OneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingJune2026OneMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances Maturing June 2026 One [Member]",
        "documentation": "Federal Home Loan Bank Advances Maturing June 2026 One."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingMarch2026Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingMarch2026Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances Maturing March 2026 [Member]",
        "documentation": "Federal Home Loan Bank Advances maturing march 2026."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingMarch2026OneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingMarch2026OneMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances Maturing March 2026 One [Member]",
        "documentation": "Federal home loan bank advances maturing march 2026 one."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalHomeLoanBankAdvancesMaturingMay2026Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalHomeLoanBankAdvancesMaturingMay2026Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances Maturing May 2026 [Member]",
        "documentation": "Federal Home Loan Bank Advances Maturing May 2026."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalHomeLoanBankAdvancesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankAdvancesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank Advances [Member]",
        "terseLabel": "Federal Home Loan Bank Advances [Member]",
        "documentation": "Borrowings from the Federal Home Loan Bank, which are primarily used to cover shortages in the required reserve balance and also in times of liquidity shortages. The member institution executes a promissory note, which is generally collateralized by government securities to the Federal Reserve or loans."
       }
      }
     },
     "auth_ref": [
      "r87"
     ]
    },
    "us-gaap_FederalHomeLoanBankBorrowingsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankBorrowingsFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Borrowings",
        "label": "Federal Home Loan Bank Borrowings, Fair Value Disclosure",
        "documentation": "Fair value portion of borrowing from Federal Home Loan Bank (FHLBank)."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r1486",
      "r1487",
      "r1497",
      "r1501",
      "r1502",
      "r1503",
      "r1505"
     ]
    },
    "us-gaap_FederalHomeLoanBankStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankStock",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal Home Loan Bank stock",
        "label": "Federal Home Loan Bank Stock",
        "documentation": "Federal Home Loan Bank (FHLB) stock represents an equity interest in a FHLB. It does not have a readily determinable fair value because its ownership is restricted and it lacks a market (liquidity)."
       }
      }
     },
     "auth_ref": [
      "r855"
     ]
    },
    "us-gaap_FederalHomeLoanBankStockAndFederalReserveBankStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalHomeLoanBankStockAndFederalReserveBankStock",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Federal Home Loan Bank Stock and Federal Reserve Bank Stock, Total",
        "label": "Federal Home Loan Bank and Federal Reserve Bank stock",
        "documentation": "Amount of Federal Home Loan Bank (FHLB) and Federal Reserve Bank stock."
       }
      }
     },
     "auth_ref": [
      "r1526"
     ]
    },
    "cofs_FederalReserveBankAdvancesGeneralDebtObligationsAmountOfAvailableUnusedFunds": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalReserveBankAdvancesGeneralDebtObligationsAmountOfAvailableUnusedFunds",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal Reserve Bank advances, general debt obligations, amount of available, unused funds.",
        "label": "Federal Reserve Bank Advances, General Debt Obligations, Amount of Available, Unused Funds",
        "terseLabel": "Federal reserve bank advances, eligible borrowing capacity"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FederalReserveBankGeneralDebtObligationsDisclosuresCollateralPledged": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FederalReserveBankGeneralDebtObligationsDisclosuresCollateralPledged",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Federal Reserve Bank , general debt obligations, disclosures, collateral pledged.",
        "label": "Federal Reserve Bank , General Debt Obligations, Disclosures, Collateral Pledged",
        "terseLabel": "Federal reserve bank, general debt obligations, disclosures, collateral pledged"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FederalReserveBankStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FederalReserveBankStock",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal Reserve Bank stock",
        "label": "Federal Reserve Bank Stock",
        "documentation": "Federal Reserve Bank stock represents an equity interest in the Federal Reserve Bank. It does not have a readily determinable fair value because its ownership is restricted and it lacks a market (liquidity)."
       }
      }
     },
     "auth_ref": [
      "r855"
     ]
    },
    "cofs_FenturaFinancialIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FenturaFinancialIncMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fentura Financial, Inc. [Member]",
        "documentation": "Fentura financial, inc."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancialAssetNotPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancialAssetNotPastDueMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Asset, Not Past Due [Member]",
        "documentation": "Financial asset not past due."
       }
      }
     },
     "auth_ref": [
      "r396",
      "r1058"
     ]
    },
    "us-gaap_FinancialAssetPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancialAssetPastDueMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Asset, Past Due [Member]",
        "documentation": "Financial asset past due."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r396",
      "r1058"
     ]
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument [Axis]",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r388",
      "r389",
      "r396",
      "r397",
      "r407",
      "r419",
      "r423",
      "r424",
      "r475",
      "r489",
      "r705",
      "r722",
      "r758",
      "r772",
      "r775",
      "r798",
      "r799",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r858",
      "r871",
      "r1059",
      "r1124",
      "r1126",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132",
      "r1133",
      "r1134",
      "r1138",
      "r1250",
      "r1251",
      "r1252",
      "r1253",
      "r1254",
      "r1255",
      "r1256",
      "r1384",
      "r1385",
      "r1386",
      "r1387",
      "r1485",
      "r1488",
      "r1489",
      "r1490",
      "r1497",
      "r1500",
      "r1501",
      "r1502"
     ]
    },
    "us-gaap_FinancialInstrumentPerformanceStatusAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancialInstrumentPerformanceStatusAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument Performance Status [Axis]",
        "documentation": "Information by category of performance or non-performance status of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r1402"
     ]
    },
    "us-gaap_FinancialInstrumentPerformanceStatusDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancialInstrumentPerformanceStatusDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument Performance Status [Domain]",
        "documentation": "Category of performance or non-performance status of financial instruments, including but not limited to, financing receivables, loans, debt, and investments."
       }
      }
     },
     "auth_ref": [
      "r1402"
     ]
    },
    "us-gaap_FinancialInstrumentsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancialInstrumentsDisclosureTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstruments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financial Instruments",
        "label": "Financial Instruments Disclosure [Text Block]",
        "documentation": "The entire disclosure for financial instruments. This disclosure includes, but is not limited to, fair value measurements of short and long term marketable securities, international currencies forward contracts, and auction rate securities. Financial instruments may include hedging and non-hedging currency exchange instruments, derivatives, securitizations and securities available for sale at fair value. Also included are investment results, realized and unrealized gains and losses as well as impairments and risk management disclosures."
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FinancingReceivableAcquiredWithDeterioratedCreditQuality": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableAcquiredWithDeterioratedCreditQuality",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The balance of financing receivables that were acquired with deteriorated credit quality.",
        "label": "cofs_FinancingReceivableAcquiredWithDeterioratedCreditQuality",
        "terseLabel": "Acquired with deteriorated credit quality"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossLoanPurchased": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableAllowanceForCreditLossLoanPurchased",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Allowance for Credit Loss, Loan Purchased",
        "terseLabel": "Provision for credit losses on acquired loans",
        "documentation": "Amount of increase in allowance for credit loss on financing receivable from purchase of loan. Excludes financing receivable purchased with credit deterioration, loan acquired through business combination or acquisition, and net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r1393"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableAllowanceForCreditLosses",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_NotesReceivableNet",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Ending balance",
        "verboseLabel": "ACL Balance",
        "terseLabel": "Allowance for credit loss",
        "label": "Financing Receivable, Allowance for Credit Loss",
        "periodStartLabel": "Beginning balance",
        "negatedLabel": "Allowance for loan losses (Note 3)",
        "documentation": "Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r162",
      "r164",
      "r166",
      "r203",
      "r386",
      "r390",
      "r395",
      "r1518"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Collectively evaluated for credit loss",
        "label": "Financing Receivable, Allowance for Credit Loss, Collectively Evaluated",
        "documentation": "Amount of allowance for credit loss on financing receivable evaluated on collective basis. Excludes financing receivable evaluated on individual basis."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r1039",
      "r1390"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Individually evaluated for credit loss",
        "label": "Financing Receivable, Allowance for Credit Loss, Individually Evaluated",
        "verboseLabel": "Loans allocated allowance for credit loss",
        "documentation": "Amount of allowance for credit loss on financing receivable evaluated on individual basis. Excludes financing receivable evaluated on collective basis."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r1039",
      "r1390"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableAllowanceForCreditLossesRecovery",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Allowance for Credit Loss, Recovery",
        "terseLabel": "Recoveries",
        "documentation": "Amount of increase in allowance for credit loss on financing receivable from recovery."
       }
      }
     },
     "auth_ref": [
      "r120",
      "r394",
      "r1057"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableAllowanceForCreditLossesWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Allowance for Credit Loss, Writeoff",
        "negatedLabel": "Charge-offs",
        "totalLabel": "Financing Receivable, Allowance for Credit Loss, Writeoff, Total",
        "documentation": "Amount of writeoff of financing receivable, charged against allowance for credit loss."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r393",
      "r409",
      "r1057"
     ]
    },
    "us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableCollectivelyEvaluatedForImpairment",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails": {
       "parentTag": "us-gaap_NotesReceivableGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Collectively Evaluated for Credit Loss",
        "terseLabel": "Collectively evaluated for impairment",
        "documentation": "Amount of financing receivable collectively evaluated for credit loss. Excludes financing receivable individually evaluated for credit loss."
       }
      }
     },
     "auth_ref": [
      "r332",
      "r1039"
     ]
    },
    "us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableCreditQualityIndicatorsTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Information Regarding Credit Exposure",
        "label": "Financing Receivable Credit Quality Indicators [Table Text Block]",
        "documentation": "Tabular disclosure of financing receivables by credit quality indicator. The credit quality indicator is a statistic about the credit quality of financing receivables. Examples include, but not limited to, consumer credit risk scores, credit-rating-agency ratings, an entity's internal credit risk grades, loan-to-value ratios, collateral, collection experience and other internal metrics."
       }
      }
     },
     "auth_ref": [
      "r1401"
     ]
    },
    "us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableIndividuallyEvaluatedForImpairment",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails": {
       "parentTag": "us-gaap_NotesReceivableGross",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Individually Evaluated for Credit Loss",
        "terseLabel": "Individually evaluated for impairment",
        "totalLabel": "Financing Receivable, Individually Evaluated for Credit Loss, Total",
        "verboseLabel": "Loans evaluated for allowance for credit loss",
        "documentation": "Amount of financing receivable individually evaluated for credit loss. Excludes financing receivable collectively evaluated for credit loss."
       }
      }
     },
     "auth_ref": [
      "r333",
      "r1039"
     ]
    },
    "cofs_FinancingReceivableInterestRateReduction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableInterestRateReduction",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Interest Rate Reduction",
        "documentation": "Financing receivable interest rate reduction.",
        "terseLabel": "Interest rate reduction"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivableModificationsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableModificationsLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Troubled Debt Restructuring [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r133",
      "r334",
      "r335",
      "r1038"
     ]
    },
    "us-gaap_FinancingReceivableModificationsNumberOfContracts2": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableModificationsNumberOfContracts2",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financing Receivable, Modifications, Number of Contracts",
        "label": "Number of loans",
        "documentation": "Number of financing receivables that have been modified by troubled debt restructurings."
       }
      }
     },
     "auth_ref": [
      "r132"
     ]
    },
    "us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableModificationsPostModificationRecordedInvestment2",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Post- Modification Outstanding",
        "documentation": "Amortized cost of financing receivable modified during period for debtor experiencing financial difficulty."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r334",
      "r1038"
     ]
    },
    "us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableModificationsPreModificationRecordedInvestment2",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pre- Modification Outstanding",
        "documentation": "Amount, before troubled debt restructuring, of financing receivable to be modified."
       }
      }
     },
     "auth_ref": [
      "r132"
     ]
    },
    "us-gaap_FinancingReceivableNonaccrualInterestIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableNonaccrualInterestIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest income recognized during the period on nonaccrual loans",
        "label": "Financing Receivable, Nonaccrual, Interest Income",
        "documentation": "Amount of interest income on financing receivable on nonaccrual status."
       }
      }
     },
     "auth_ref": [
      "r399"
     ]
    },
    "us-gaap_FinancingReceivableNonaccrualNoAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableNonaccrualNoAllowance",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Nonaccrual loans with no ACL",
        "label": "Financing Receivable, Nonaccrual, No Allowance",
        "documentation": "Amortized cost of financing receivable on nonaccrual status with no allowance for credit loss. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r401"
     ]
    },
    "us-gaap_FinancingReceivableNonaccrualStatusLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableNonaccrualStatusLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Nonaccrual [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r397",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055"
     ]
    },
    "us-gaap_FinancingReceivableNonaccrualTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableNonaccrualTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Nonaccrual [Table]",
        "documentation": "Disclosure of information about financing receivable on nonaccrual status."
       }
      }
     },
     "auth_ref": [
      "r397",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055"
     ]
    },
    "cofs_FinancingReceivableOriginatedCheckingAccountsWriteoffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableOriginatedCheckingAccountsWriteoffs",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing receivable originated checking accounts writeoffs.",
        "label": "Financing Receivable Originated Checking Accounts Writeoffs",
        "terseLabel": "Financing receivable originated checking accounts writeoffs"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FinancingReceivableOriginatedCheckingAccountsWriteoffsAnnualized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableOriginatedCheckingAccountsWriteoffsAnnualized",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing receivable originated checking accounts writeoffs annualized.",
        "label": "Financing Receivable Originated Checking Accounts Writeoffs Annualized",
        "terseLabel": "Financing receivable originated checking accounts writeoffs annualized"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivableOriginatedFiveOrMoreYearsBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableOriginatedFiveOrMoreYearsBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": "us-gaap_FinancingReceivableRevolvingConvertedToTermLoan",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prior",
        "label": "Financing Receivable, Originated, More than Five Years before Current Fiscal Year",
        "documentation": "Amortized cost of financing receivable originated more than five years prior to current fiscal year. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r1057"
     ]
    },
    "us-gaap_FinancingReceivableOriginatedFourYearsBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableOriginatedFourYearsBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": "us-gaap_FinancingReceivableRevolvingConvertedToTermLoan",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Year Five, Originated, Four Years before Current Fiscal Year",
        "terseLabel": "Financing Receivable, Four year prior",
        "documentation": "Amortized cost of financing receivable originated four years prior to current fiscal year. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r1057"
     ]
    },
    "us-gaap_FinancingReceivableOriginatedInCurrentFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableOriginatedInCurrentFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": "us-gaap_FinancingReceivableRevolvingConvertedToTermLoan",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Year One, Originated, Current Fiscal Year",
        "verboseLabel": "Term Extension",
        "terseLabel": "Financing Receivable, Current year",
        "documentation": "Amortized cost of financing receivable originated in current fiscal year. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r1057"
     ]
    },
    "us-gaap_FinancingReceivableOriginatedInFiscalYearBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableOriginatedInFiscalYearBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": "us-gaap_FinancingReceivableRevolvingConvertedToTermLoan",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Financing Receivable, Prior year",
        "label": "Financing Receivable, Year Two, Originated, Fiscal Year before Current Fiscal Year",
        "documentation": "Amortized cost of financing receivable originated in fiscal year prior to current fiscal year. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r1057"
     ]
    },
    "us-gaap_FinancingReceivableOriginatedThreeYearsBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableOriginatedThreeYearsBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": "us-gaap_FinancingReceivableRevolvingConvertedToTermLoan",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Year Four, Originated, Three Years before Current Fiscal Year",
        "terseLabel": "Financing Receivable, Three year prior",
        "documentation": "Amortized cost of financing receivable originated three years prior to current fiscal year. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r1057"
     ]
    },
    "us-gaap_FinancingReceivableOriginatedTwoYearsBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableOriginatedTwoYearsBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": "us-gaap_FinancingReceivableRevolvingConvertedToTermLoan",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Year Three, Originated, Two Years before Current Fiscal Year",
        "terseLabel": "Financing Receivable, Two year prior",
        "documentation": "Amortized cost of financing receivable originated two years prior to current fiscal year. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r1057"
     ]
    },
    "cofs_FinancingReceivableOriginatedWriteoffsFiveOrMoreYearsBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableOriginatedWriteoffsFiveOrMoreYearsBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": "cofs_WriyeoffOfFinancingReceivableRevolving",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Financing Receivable Originated Writeoffs Five or More Years Before Latest Fiscal Year, Total",
        "totalLabel": "Financing Receivable Originated Writeoffs Five or More Years Before Latest Fiscal Year, Total",
        "terseLabel": "Current year-to-date gross write-offs, Prior",
        "label": "Financing Receivable Originated Writeoffs Five or More Years Before Latest Fiscal Year",
        "documentation": "Financing receivable originated writeoffs five or more years before latest fiscal year."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FinancingReceivableOriginatedWriteoffsFourYearsBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableOriginatedWriteoffsFourYearsBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": "cofs_WriyeoffOfFinancingReceivableRevolving",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Originated Writeoffs Four Years Before Latest Fiscal Year",
        "documentation": "Financing receivable originated writeoffs four years before latest fiscal year.",
        "terseLabel": "Current year-to-date gross write-offs, Four year prior"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FinancingReceivableOriginatedWriteoffsInCurrentFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableOriginatedWriteoffsInCurrentFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": "cofs_WriyeoffOfFinancingReceivableRevolving",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Originated Writeoffs in Current Fiscal Year",
        "documentation": "Financing receivable originated writeoffs in current fiscal year.",
        "terseLabel": "Current year-to-date gross write-offs, Current year"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FinancingReceivableOriginatedWriteoffsInFiscalYearBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableOriginatedWriteoffsInFiscalYearBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": "cofs_WriyeoffOfFinancingReceivableRevolving",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Originated Writeoffs in Fiscal Year Before Latest Fiscal Year",
        "documentation": "Financing receivable originated writeoffs in fiscal year before latest fiscal year.",
        "terseLabel": "Current year-to-date gross write-offs, Prior year"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FinancingReceivableOriginatedWriteoffsThreeYearsBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableOriginatedWriteoffsThreeYearsBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": "cofs_WriyeoffOfFinancingReceivableRevolving",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Originated Writeoffs Three Years Before Latest Fiscal Year",
        "documentation": "Financing receivable originated writeoffs three years before latest fiscal year.",
        "terseLabel": "Current year-to-date gross write-offs, Three year prior"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FinancingReceivableOriginatedWriteoffsTwoYearsBeforeLatestFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableOriginatedWriteoffsTwoYearsBeforeLatestFiscalYear",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": "cofs_WriyeoffOfFinancingReceivableRevolving",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Originated Writeoffs Two Years Before Latest Fiscal Year",
        "documentation": "Financing receivable originated writeoffs two years before latest fiscal year.",
        "terseLabel": "Current year-to-date gross write-offs, Two year prior"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivablePortfolioSegmentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivablePortfolioSegmentAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Portfolio Segment [Axis]",
        "documentation": "Information by the level at which an entity develops and documents a systematic methodology to determine its allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r161",
      "r165",
      "r166",
      "r388",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r1040",
      "r1250",
      "r1251",
      "r1252",
      "r1253",
      "r1254",
      "r1255",
      "r1256",
      "r1258",
      "r1259",
      "r1260"
     ]
    },
    "us-gaap_FinancingReceivablePortfolioSegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivablePortfolioSegmentDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable Portfolio Segment [Domain]",
        "documentation": "Level at which an entity develops and documents a systematic methodology to determine its allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r161",
      "r165",
      "r166",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r1250",
      "r1251",
      "r1252",
      "r1253",
      "r1254",
      "r1255",
      "r1256",
      "r1258",
      "r1259",
      "r1260"
     ]
    },
    "us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, 90 Days or More Past Due, Still Accruing",
        "terseLabel": "Loans, 90 Days Past Due and Accruing",
        "documentation": "Amortized cost of financing receivable 90 days or more past due and still accruing. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r400",
      "r1058"
     ]
    },
    "us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Financing Receivable [Axis]",
        "documentation": "Information by class of financing receivable determined on the basis of initial measurement attribute, risk characteristics and method of monitoring and assessing credit risk."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r134",
      "r137",
      "r141",
      "r160",
      "r161",
      "r165",
      "r166",
      "r331",
      "r334",
      "r335",
      "r336",
      "r338",
      "r396",
      "r397",
      "r407",
      "r1038",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1057",
      "r1058",
      "r1250",
      "r1251",
      "r1252",
      "r1253",
      "r1254",
      "r1255",
      "r1256",
      "r1258",
      "r1259",
      "r1260",
      "r1360"
     ]
    },
    "us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Financing Receivable [Domain]",
        "documentation": "Financing receivables determined on the basis of initial measurement attribute, risk characteristics and method of monitoring and assessing credit risk."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r160",
      "r161",
      "r165",
      "r166",
      "r331",
      "r334",
      "r335",
      "r336",
      "r338",
      "r1038",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1250",
      "r1251",
      "r1252",
      "r1253",
      "r1254",
      "r1255",
      "r1256",
      "r1258",
      "r1259",
      "r1260",
      "r1360"
     ]
    },
    "us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableRecordedInvestmentNonaccrualStatus",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total nonaccrual loans",
        "label": "Nonaccrual loans",
        "verboseLabel": "Nonaccrual loans with ACL",
        "documentation": "Amortized cost of financing receivable on nonaccrual status. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r163",
      "r164",
      "r398"
     ]
    },
    "us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableRecordedInvestmentPastDueLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Past Due [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1058",
      "r1400"
     ]
    },
    "us-gaap_FinancingReceivableRevolving": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableRevolving",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": "us-gaap_NotesReceivableGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving Loans",
        "label": "Financing Receivable, Revolving",
        "documentation": "Amortized cost of financing receivable that can be withdrawn, repaid, and redrawn."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r1057"
     ]
    },
    "us-gaap_FinancingReceivableRevolvingConvertedToTermLoan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivableRevolvingConvertedToTermLoan",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": "us-gaap_NotesReceivableGross",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Term Loans Total",
        "terseLabel": "Term Loans Total",
        "label": "Financing Receivable, Revolving, Converted to Term Loan",
        "documentation": "Amortized cost of revolving financing receivable converted to term loan."
       }
      }
     },
     "auth_ref": [
      "r410",
      "r1057"
     ]
    },
    "cofs_FinancingReceivableTroubledLoanModificationAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableTroubledLoanModificationAmortizedCost",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortized Cost Basis",
        "label": "Financing Receivable Troubled Loan Modification Amortized Cost",
        "documentation": "Financing receivable troubled loan modification amortized cost."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_FinancingReceivableWriteoffRevolvingConvertedToTermLoan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FinancingReceivableWriteoffRevolvingConvertedToTermLoan",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": "cofs_WriteoffOfNotesReceivableGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current year-to-date gross write-offs, Revolving Loans",
        "label": "Financing Receivable Writeoff Revolving Converted to Term Loan",
        "documentation": "Financing receivable writeoff revolving converted to term loan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinancingReceivables30To59DaysPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivables30To59DaysPastDueMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Asset, 30 to 59 Days Past Due [Member]",
        "documentation": "Financial asset more than 29 days past due but fewer than 60 days past due."
       }
      }
     },
     "auth_ref": [
      "r1058"
     ]
    },
    "us-gaap_FinancingReceivables60To89DaysPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivables60To89DaysPastDueMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Asset, 60 to 89 Days Past Due [Member]",
        "documentation": "Financial asset more than 59 days past due but fewer than 90 days past due."
       }
      }
     },
     "auth_ref": [
      "r1058"
     ]
    },
    "us-gaap_FinancingReceivablesEqualToGreaterThan90DaysPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivablesEqualToGreaterThan90DaysPastDueMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Asset, Equal to or Greater than 90 Days Past Due [Member]",
        "documentation": "Financial asset equal to or greater than 90 days past due."
       }
      }
     },
     "auth_ref": [
      "r1058"
     ]
    },
    "us-gaap_FinancingReceivablesPeriodPastDueAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivablesPeriodPastDueAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Asset, Aging [Axis]",
        "documentation": "Information by period in which financial asset is past due or not past due."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r396",
      "r1058"
     ]
    },
    "us-gaap_FinancingReceivablesPeriodPastDueDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivablesPeriodPastDueDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Asset, Aging [Domain]",
        "documentation": "Period in which financial asset is past due or not past due. For past due, element name and standard label in Financial Asset, [numeric lower end] to [numeric higher end] [date measure] Past Due [Member] or Financial Asset, Greater than [low end numeric value] [date measure] Past Due [Member] or Financial Asset, Less than [high end numeric value] [date measure] Past Due [Member] formats."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r396",
      "r1058"
     ]
    },
    "us-gaap_FinancingReceivablesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "FinancingReceivablesTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLosses1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loans and Allowance for Credit Losses",
        "label": "Financing Receivables [Text Block]",
        "documentation": "The entire disclosure for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r329",
      "r335",
      "r337",
      "r339",
      "r1038"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r1172",
      "r1182",
      "r1192",
      "r1224"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r1172",
      "r1182",
      "r1192",
      "r1224"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r1172",
      "r1182",
      "r1192",
      "r1224"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r1172",
      "r1182",
      "r1192",
      "r1224"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1172",
      "r1182",
      "r1192",
      "r1224"
     ]
    },
    "cofs_FourSofrCapAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "FourSofrCapAgreementsMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Four SOFR cap Agreements.",
        "label": "Four SOFR Cap Agreements [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]",
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year"
       }
      }
     },
     "auth_ref": [
      "r1205"
     ]
    },
    "us-gaap_GainLossOnDerivativeInstrumentsNetPretax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainLossOnDerivativeInstrumentsNetPretax",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gain (Loss) on Derivative Instruments, Net, Pretax, Total",
        "label": "Gain (Loss) on Derivative Instruments, Net, Pretax",
        "verboseLabel": "The effects of fair value and cash flow hedging:",
        "documentation": "Aggregate net gain (loss) on all derivative instruments recognized in earnings during the period, before tax effects."
       }
      }
     },
     "auth_ref": [
      "r1473"
     ]
    },
    "us-gaap_GainLossOnInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainLossOnInvestmentsTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Unrealized Gains and Losses on Equity Securities",
        "label": "Gain (Loss) on Securities [Table Text Block]",
        "documentation": "Tabular disclosure of realized and unrealized gain (loss) on investment in security."
       }
      }
     },
     "auth_ref": [
      "r1284",
      "r1285"
     ]
    },
    "us-gaap_GainLossOnSaleOfLoansAndLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainLossOnSaleOfLoansAndLeases",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 34.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gain (Loss) on Sale of Loans and Leases, Total",
        "label": "Gain (Loss) on Sale of Loans and Leases",
        "negatedLabel": "Gains on sales of loans",
        "documentation": "The gains (losses) included in earnings that represent the difference between the sale price and the carrying value of loans and leases that were sold during the reporting period. This element refers to the gain (loss) and not to the cash proceeds of the sales. This element is a noncash adjustment to net income when calculating net cash generated by operating activities using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r1332"
     ]
    },
    "us-gaap_GainLossOnSaleOfOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainLossOnSaleOfOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (Loss) on Disposition of Other Assets",
        "terseLabel": "Net gains on sales and write downs of other assets",
        "documentation": "Amount of gain (loss) on sale or disposal of other assets."
       }
      }
     },
     "auth_ref": [
      "r1332"
     ]
    },
    "us-gaap_GainLossOnSalesOfLoansNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainLossOnSalesOfLoansNet",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gain (Loss) on Sales of Loans, Net, Total",
        "label": "Gains on sales of loans",
        "documentation": "The net gain (loss) resulting from a sale of loans, including adjustments to record loans classified as held-for-sale at the lower-of-cost-or-market and fair value adjustments to loan held for investment purposes."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r98"
     ]
    },
    "us-gaap_GainsLossesOnSalesOfOtherRealEstate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GainsLossesOnSalesOfOtherRealEstate",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gains (Losses) on Sales of Other Real Estate",
        "negatedLabel": "(Gains) on sales of other real estate owned",
        "documentation": "The net gain (loss) resulting from sales and other disposals of other real estate owned, increases (decreases) in the valuation allowance for foreclosed real estate, and write-downs of other real estate owned after acquisition or physical possession."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Goodwill, Total",
        "terseLabel": "Goodwill",
        "periodEndLabel": "Goodwill, Ending Balance",
        "periodStartLabel": "Goodwill, Beginning Balance",
        "label": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r426",
      "r840",
      "r1032",
      "r1060",
      "r1085",
      "r1089",
      "r1090",
      "r1100",
      "r1125",
      "r1137",
      "r1406",
      "r1407",
      "r1469"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined."
       }
      }
     },
     "auth_ref": [
      "r425",
      "r427",
      "r1060"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Core Deposit Intangible",
        "label": "Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for intangible assets. This accounting policy may address both intangible assets subject to amortization and those that are not. The following also may be disclosed: (1) a description of intangible assets (2) the estimated useful lives of those assets (3) the amortization method used (4) how the entity assesses and measures impairment of such assets (5) how future cash flows are estimated (6) how the fair values of such asset are determined."
       }
      }
     },
     "auth_ref": [
      "r429",
      "r438",
      "r439"
     ]
    },
    "us-gaap_GoodwillPeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "GoodwillPeriodIncreaseDecrease",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Period Increase (Decrease)",
        "totalLabel": "Goodwill, Period Increase (Decrease), Total",
        "terseLabel": "Goodwill increasing",
        "documentation": "Amount of increase (decrease) of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r1405",
      "r1469"
     ]
    },
    "us-gaap_HedgedAssetDiscontinuedFairValueHedgeCumulativeIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HedgedAssetDiscontinuedFairValueHedgeCumulativeIncreaseDecrease",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cumulative amount of discontinued cash flow hedge",
        "label": "Hedged Asset, Discontinued Fair Value Hedge, Cumulative Increase (Decrease)",
        "documentation": "Amount of cumulative increase (decrease) in fair value of hedged asset in fair value hedge, attributable to hedged risk, remaining after discontinued hedge. Excludes cumulative basis adjustment related to foreign exchange risk."
       }
      }
     },
     "auth_ref": [
      "r686",
      "r1118"
     ]
    },
    "us-gaap_HedgingDesignationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HedgingDesignationAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Axis]",
        "documentation": "Information by designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r1473",
      "r1476"
     ]
    },
    "us-gaap_HedgingDesignationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HedgingDesignationDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Domain]",
        "documentation": "Designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r1473",
      "r1476"
     ]
    },
    "us-gaap_HedgingRelationshipDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HedgingRelationshipDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Relationship [Domain]",
        "documentation": "Nature or intent of a hedge."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_HeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldToMaturitySecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortized cost, held to maturity",
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, before Allowance for Credit Loss",
        "totalLabel": "Amortized cost, held to maturity",
        "documentation": "Amount, before allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r137",
      "r357",
      "r396",
      "r764",
      "r1391"
     ]
    },
    "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingGain",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails2": {
       "parentTag": "us-gaap_HeldToMaturitySecurities",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross unrealized gains, held to maturity",
        "label": "Debt Securities, Held-to-Maturity, Accumulated Unrecognized Gain",
        "documentation": "Amount of accumulated unrecognized gain on investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r143",
      "r367"
     ]
    },
    "us-gaap_HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldToMaturitySecuritiesAccumulatedUnrecognizedHoldingLoss",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails2": {
       "parentTag": "us-gaap_HeldToMaturitySecurities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Gross unrealized losses, held to maturity",
        "label": "Debt Securities, Held-to-Maturity, Accumulated Unrecognized Loss",
        "documentation": "Amount of accumulated unrealized loss on investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r368"
     ]
    },
    "us-gaap_HeldToMaturitySecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldToMaturitySecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, after Allowance for Credit Loss, Maturity, Allocated and Single Maturity Date",
        "totalLabel": "Held to Maturity Securities maturing within amortized cost",
        "terseLabel": "Held to Maturity Securities maturing within amortized cost",
        "documentation": "Amount, after allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity) with single maturity date and allocated without single maturity date."
       }
      }
     },
     "auth_ref": [
      "r1371",
      "r1521"
     ]
    },
    "us-gaap_HeldToMaturitySecuritiesFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldToMaturitySecuritiesFairValue",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails2": {
       "parentTag": "us-gaap_HeldToMaturitySecurities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Fair value, held to maturity",
        "verboseLabel": "Debt securities held-to-maturity fair value",
        "terseLabel": "Fair value, held to maturity",
        "label": "Debt Securities, Held-to-Maturity, Fair Value",
        "documentation": "Fair value of investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r366",
      "r736",
      "r748",
      "r768",
      "r769",
      "r771",
      "r841",
      "r859"
     ]
    },
    "us-gaap_HeldToMaturitySecuritiesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldToMaturitySecuritiesTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Held to Maturity Securities with Unrealize Losses",
        "label": "Debt Securities, Held-to-Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of information about investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r1366",
      "r1367",
      "r1368",
      "r1369",
      "r1370",
      "r1371",
      "r1372",
      "r1373",
      "r1374",
      "r1375",
      "r1376",
      "r1377",
      "r1378",
      "r1379",
      "r1380",
      "r1381",
      "r1382",
      "r1383"
     ]
    },
    "us-gaap_HeldtomaturitySecuritiesDebtMaturitiesNextRollingTwelveMonthsAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldtomaturitySecuritiesDebtMaturitiesNextRollingTwelveMonthsAmortizedCost",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails": {
       "parentTag": "us-gaap_HeldToMaturitySecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Held to Maturity Securities maturing within Less than 1 Year",
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, after Allowance for Credit Loss, Maturity, Allocated and Single Maturity Date, Rolling within One Year",
        "documentation": "Amount, after allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity) with single maturity date and allocated without single maturity date, maturing in next rolling fiscal year following current statement of financial position date. For interim and annual periods when interim period is reported on rolling approach."
       }
      }
     },
     "auth_ref": [
      "r1372",
      "r1522"
     ]
    },
    "us-gaap_HeldtomaturitySecuritiesDebtMaturitiesRollingAfterTenYearsAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldtomaturitySecuritiesDebtMaturitiesRollingAfterTenYearsAmortizedCost",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails": {
       "parentTag": "us-gaap_HeldToMaturitySecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Held to Maturity Securities maturing within More than10 Years",
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, after Allowance for Credit Loss, Maturity, Allocated and Single Maturity Date, Rolling after 10 Years",
        "documentation": "Amount, after allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity) with single maturity date and allocated without single maturity date, maturing after rolling tenth fiscal year following current statement of financial position date. For interim and annual periods when interim period is reported on rolling approach."
       }
      }
     },
     "auth_ref": [
      "r1375",
      "r1525"
     ]
    },
    "us-gaap_HeldtomaturitySecuritiesDebtMaturitiesRollingYearSixThroughTenAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldtomaturitySecuritiesDebtMaturitiesRollingYearSixThroughTenAmortizedCost",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails": {
       "parentTag": "us-gaap_HeldToMaturitySecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Held to Maturity Securities maturing within 5 Years -10 Years",
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, after Allowance for Credit Loss, Maturity, Allocated and Single Maturity Date, Rolling after 5 through 10 Years",
        "documentation": "Amount, after allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity) with single maturity date and allocated without single maturity date, maturing in sixth through tenth rolling fiscal year following current statement of financial position date. For interim and annual periods when interim period is reported on rolling approach."
       }
      }
     },
     "auth_ref": [
      "r1374",
      "r1524"
     ]
    },
    "us-gaap_HeldtomaturitySecuritiesDebtMaturitiesRollingYearTwoThroughFiveAmortizedCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "HeldtomaturitySecuritiesDebtMaturitiesRollingYearTwoThroughFiveAmortizedCost",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails": {
       "parentTag": "us-gaap_HeldToMaturitySecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Held to Maturity Securities maturing within 1 Year -5 Years",
        "label": "Debt Securities, Held-to-Maturity, Amortized Cost, after Allowance for Credit Loss, Maturity, Allocated and Single Maturity Date, Rolling after One through Five Years",
        "documentation": "Amount, after allowance for credit loss, of investment in debt security measured at amortized cost (held-to-maturity) with single maturity date and allocated without single maturity date, maturing in second through fifth rolling fiscal year following current statement of financial position date. For interim and annual periods when interim period is reported on rolling approach."
       }
      }
     },
     "auth_ref": [
      "r1373",
      "r1523"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableAverageRecordedInvestment",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Average Recorded Investment",
        "documentation": "Average amount of investment of impaired financing receivables with related allowance for credit losses and without a related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r128"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableInterestIncomeAccrualMethod",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income Recognized",
        "documentation": "Amount of interest income recognized that the financing receivables (with related allowance for credit losses and without a related allowance for credit losses) were impaired."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableRecordedInvestment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableRecordedInvestment",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recorded Investment",
        "documentation": "Amount of investment of impaired financing receivables with related allowance for credit losses and without a related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r122"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableRelatedAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableRelatedAllowance",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Allowance",
        "documentation": "Amount of allowance for credit losses related to recorded investment."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableUnpaidPrincipalBalance",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unpaid Principal Balance",
        "documentation": "Amount of unpaid principal balance of impaired financing receivables with related allowance for credit losses and without related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Average Recorded Investment with no related allowance recorded",
        "documentation": "Amount of average investment of impaired financing receivables for which there is no related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r128"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income Recognized with no related allowance recorded",
        "documentation": "Amount of interest income, recognized on accrual basis, on financing receivables that are recognized as impaired, for which there is no related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recorded Investment with no related allowance recorded",
        "documentation": "Amount of investment in impaired financing receivables for which there is no related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r122"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unpaid Principal Balance with no related allowance recorded",
        "documentation": "Amount of unpaid principal balance of impaired financing receivables for which there is no related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Average Recorded Investment with an allowance recorded",
        "documentation": "Amount of average investment of impaired financing receivables for which there is a related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r128"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income Recognized with an allowance recorded",
        "documentation": "Amount of interest income, recognized on accrual basis, on financing receivables, for which there is a related allowance for credit losses and are recognized as impaired."
       }
      }
     },
     "auth_ref": [
      "r127"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recorded Investment with an allowance recorded",
        "documentation": "Amount of investment in impaired financing receivables for which there is a related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r122"
     ]
    },
    "us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unpaid Principal Balance with an allowance recorded",
        "documentation": "Unpaid principal balance of impaired financing receivables for which there is a related allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "us-gaap_ImpairedFinancingReceivablesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ImpairedFinancingReceivablesTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Loans for Impairment and Interest Recognized on Impaired Loans",
        "label": "Impaired Financing Receivables [Table Text Block]",
        "documentation": "Tabular disclosure of impaired financing receivables."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "cofs_ImpairedLoansFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ImpairedLoansFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents amount of fair value disclosure of impaired loans.",
        "label": "Impaired Loans"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income before income tax",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "totalLabel": "Income (Loss) before income tax expense (benefit)",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r103",
      "r115",
      "r850",
      "r852",
      "r868",
      "r1012",
      "r1014",
      "r1016",
      "r1025",
      "r1031",
      "r1346",
      "r1353",
      "r1354",
      "r1355",
      "r1356"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Income Location, Balance [Axis]",
        "documentation": "Information by location in statement of income where disaggregated amount is reported."
       }
      }
     },
     "auth_ref": [
      "r442",
      "r443",
      "r445",
      "r657",
      "r664",
      "r681",
      "r690",
      "r741",
      "r745",
      "r752",
      "r774",
      "r775",
      "r776",
      "r887",
      "r889",
      "r953",
      "r998",
      "r1000",
      "r1085",
      "r1090",
      "r1119",
      "r1121",
      "r1127",
      "r1135",
      "r1458",
      "r1460",
      "r1532"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Income Location, Balance [Domain]",
        "documentation": "Location in statement of income where disaggregated amount is reported."
       }
      }
     },
     "auth_ref": [
      "r443",
      "r445",
      "r657",
      "r664",
      "r681",
      "r690",
      "r741",
      "r745",
      "r752",
      "r774",
      "r775",
      "r776",
      "r887",
      "r889",
      "r953",
      "r998",
      "r1000",
      "r1085",
      "r1090",
      "r1119",
      "r1121",
      "r1127",
      "r1135",
      "r1458",
      "r1460",
      "r1532"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income Tax Expense (Benefit), Total",
        "label": "Income tax expense",
        "negatedLabel": "Income tax (benefit) expense",
        "terseLabel": "Income tax expense (benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r155",
      "r245",
      "r270",
      "r271",
      "r295",
      "r311",
      "r320",
      "r551",
      "r552",
      "r560",
      "r878",
      "r1012",
      "r1014",
      "r1016",
      "r1084"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid for income taxes",
        "totalLabel": "Income Taxes Paid, Net, Total",
        "label": "Income Taxes Paid, Net",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r241",
      "r553",
      "r554"
     ]
    },
    "us-gaap_IncreaseDecreaseInDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInDeposits",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net change in deposits",
        "totalLabel": "Increase (Decrease) in Deposits, Total",
        "label": "Increase (Decrease) in Deposits",
        "documentation": "The net cash inflow or outflow for the increase (decrease) in the beginning and end of period deposits balances."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r110"
     ]
    },
    "cofs_IncreaseDecreaseInInterestIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "IncreaseDecreaseInInterestIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease in Interest Income",
        "documentation": "Increase decrease in interest income.",
        "terseLabel": "Interest income reduced"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInInterestPayableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInInterestPayableNet",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Increase (decrease) in interest expense",
        "label": "Increase (Decrease) in Interest Payable, Net",
        "documentation": "The increase (decrease) during the reporting period in interest payable, which represents the amount owed to note holders, bond holders, and other parties for interest earned on loans or credit extended to the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity, Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Net change in:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other assets",
        "totalLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Other Operating Liabilities, Total",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "terseLabel": "Other liabilities",
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plus dilutive stock options and restricted stock units",
        "terseLabel": "Plus dilutive stock options and restricted stock units (in shares)",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r279",
      "r280",
      "r281",
      "r290",
      "r516"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r1172",
      "r1182",
      "r1192",
      "r1216",
      "r1224",
      "r1228",
      "r1236"
     ]
    },
    "us-gaap_InformationTechnologyAndDataProcessing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InformationTechnologyAndDataProcessing",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Data processing",
        "documentation": "The amount of expenses incurred in the period for information technology and data processing products and services."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r1014"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r1234"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r1164",
      "r1240"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r1164",
      "r1240"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r1164",
      "r1240"
     ]
    },
    "cofs_InsuranceAndInvestmentCommissionIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "InsuranceAndInvestmentCommissionIncomeMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance and Investment Commission Income [Member]",
        "documentation": "Insurance and investment commission income."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_InsuranceAndInvestmentCommissionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "InsuranceAndInvestmentCommissionsMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance and Investment Commissions [Member]",
        "documentation": "Insurance and investment commissions.",
        "terseLabel": "Insurance and Investment Commissions [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InsuranceCommissionsAndFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InsuranceCommissionsAndFees",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insurance and investment commissions",
        "documentation": "Income from agency and brokerage operations (includes sales of annuities and supplemental contracts); service charges, commissions, and fees from the sale of insurance and related services; and management fees from separate accounts, deferred annuities, and universal life products."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r97"
     ]
    },
    "us-gaap_IntangibleAssetsFiniteLivedPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IntangibleAssetsFiniteLivedPolicy",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Finite-Lived, Policy [Policy Text Block]",
        "terseLabel": "Customer List Intangible",
        "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets."
       }
      }
     },
     "auth_ref": [
      "r834",
      "r835",
      "r836",
      "r838",
      "r1019",
      "r1408"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "totalLabel": "Intangible Assets, Net (Excluding Goodwill), Total",
        "terseLabel": "Intangible assets",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r430",
      "r1409",
      "r1410"
     ]
    },
    "cofs_InterchangeIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "InterchangeIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interchange income",
        "label": "Interchange Income",
        "documentation": "Interchange income."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_InterchangeIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "InterchangeIncomeMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to interchange income.",
        "label": "Interchange Income [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestAndDividendIncomeOperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestAndDividendIncomeOperating",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestIncomeExpenseNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest and Dividend Income, Operating",
        "totalLabel": "Total interest income",
        "documentation": "Represents the total of interest and dividend income, including any amortization and accretion (as applicable) of discounts and premiums, earned from (1) loans and leases whether held-for-sale or held-in-portfolio; (2) investment securities; (3) federal funds sold; (4) securities purchased under agreements to resell; (5) investments in banker's acceptances, commercial paper, or certificates of deposit; (6) dividend income; or (7) other investments not otherwise specified herein."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r104",
      "r106",
      "r107",
      "r108",
      "r1014",
      "r1570"
     ]
    },
    "us-gaap_InterestAndDividendIncomeOperatingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestAndDividendIncomeOperatingAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestAndDividendIncomeSecuritiesByTaxableStatusAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestAndDividendIncomeSecuritiesByTaxableStatusAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestAndFeeIncomeLoansAndLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestAndFeeIncomeLoansAndLeases",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestAndDividendIncomeOperating",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Interest and Fee Income, Loans and Leases, Total",
        "label": "Loans, including fees",
        "terseLabel": "Loans, including fees",
        "documentation": "The aggregate interest and fee income generated by: (1) loans the Entity has positive intent and ability to hold for the foreseeable future, or until maturity or payoff, including commercial and consumer loans, whether domestic or foreign, which may consist of: (a) industrial and agricultural; (b) real estate; and (c) real estate construction loans; (d) trade financing; (e) lease financing; (f) home equity lines-of-credit; (g) automobile and other vehicle loans; and (h) credit card and other revolving-type loans and (2) loans and leases held-for-sale which may include mortgage loans, direct financing, and sales-type leases."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r1014"
     ]
    },
    "us-gaap_InterestBearingDepositLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestBearingDepositLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Deposits",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Interest-Bearing Deposit Liabilities, Total",
        "label": "Interest-Bearing Deposit Liabilities",
        "verboseLabel": "Total interest-bearing deposits",
        "terseLabel": "Deposits -- interest-bearing",
        "documentation": "The aggregate of all domestic and foreign interest-bearing deposit liabilities."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_InterestBearingDepositsInBanks": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestBearingDepositsInBanks",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_CashAndCashEquivalentsAtCarryingValue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Time deposits in other financial institutions",
        "label": "Interest-Bearing Deposits in Banks and Other Financial Institutions",
        "documentation": "For banks and other depository institutions (including Federal Reserve Banks, if applicable): Interest-bearing deposits in other financial institutions for relatively short periods of time including, for example, certificates of deposits, which are presented separately from cash on the balance sheet."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r91"
     ]
    },
    "us-gaap_InterestExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestExpenseAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestExpenseDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestExpenseDeposits",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestExpenseOperating",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Interest Expense, Deposits, Total",
        "terseLabel": "Deposits",
        "label": "Interest Expense, Deposits",
        "documentation": "Aggregate amount of interest expense on all deposits."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r1014"
     ]
    },
    "us-gaap_InterestExpenseFederalHomeLoanBankAndFederalReserveBankAdvancesLongTerm": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestExpenseFederalHomeLoanBankAndFederalReserveBankAdvancesLongTerm",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestExpenseOperating",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense, Federal Home Loan Bank and Federal Reserve Bank Advances, Long-Term",
        "terseLabel": "Advances from Federal Home Loan Bank",
        "documentation": "Interest expense incurred during the reporting period on long-term borrowings associated with Federal Home Loan Bank and Federal Reserve Bank advances."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestExpenseMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense [Member]",
        "documentation": "Primary financial statement caption encompassing interest expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestExpenseOperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestExpenseOperating",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestIncomeExpenseNet",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total interest expense",
        "label": "Interest Expense, Operating",
        "documentation": "Amount of interest expense classified as operating."
       }
      }
     },
     "auth_ref": [
      "r310",
      "r848",
      "r1014",
      "r1282"
     ]
    },
    "us-gaap_InterestExpenseOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestExpenseOther",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestExpenseOperating",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense, Other",
        "terseLabel": "Other",
        "documentation": "Amount of interest expense classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestIncomeExpenseAfterProvisionForLoanLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestIncomeExpenseAfterProvisionForLoanLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net interest income after provision",
        "totalLabel": "Net interest income after provision",
        "label": "Interest Income (Expense), after Provision for Loan Loss",
        "verboseLabel": "Net interest income plus other income",
        "documentation": "Amount of interest income or expense, including any amortization and accretion (as applicable) of discounts and premiums, including consideration of the provisions for loan, lease, credit, and other related losses."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r1014"
     ]
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestIncomeExpenseAfterProvisionForLoanLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income (Expense), Operating",
        "totalLabel": "Net interest income",
        "documentation": "Amount of interest income (expense) classified as operating."
       }
      }
     },
     "auth_ref": [
      "r842",
      "r1014",
      "r1353"
     ]
    },
    "us-gaap_InterestIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestIncomeMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income [Member]",
        "documentation": "Primary financial statement caption in which reported facts about interest income have been included."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestIncomeSecuritiesTaxExempt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestIncomeSecuritiesTaxExempt",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestAndDividendIncomeOperating",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax exempt",
        "documentation": "Amount of operating interest income, including amortization and accretion of premiums and discounts, on securities exempt from state, federal and other income tax."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r157",
      "r158"
     ]
    },
    "us-gaap_InterestIncomeSecuritiesTaxable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestIncomeSecuritiesTaxable",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestAndDividendIncomeOperating",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Taxable",
        "documentation": "Amount of operating interest income, including amortization and accretion of premiums and discounts, on securities subject to state, federal and other income tax."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r157",
      "r158"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash paid for interest",
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activity",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r239",
      "r240"
     ]
    },
    "cofs_InterestRateContractHedgedItemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "InterestRateContractHedgedItemsMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest Rate Contract, Hedged Items.",
        "label": "Interest Rate Contract, Hedged Items [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestRateContractMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestRateContractMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesLocationAndAmountOfGainLossInIncomeOnFairValueAndCashFlowHedgingRelationshipsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfDerivativesInstrumentsInBalanceSheetLocationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Rate Contract [Member]",
        "terseLabel": "Interest Rate Derivative Contracts",
        "documentation": "Derivative instrument whose primary underlying risk is tied to the right to receive or pay a sum of money at a given interest rate."
       }
      }
     },
     "auth_ref": [
      "r999",
      "r1009",
      "r1076",
      "r1078",
      "r1101",
      "r1102",
      "r1103",
      "r1105",
      "r1106",
      "r1107",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1119",
      "r1124",
      "r1266",
      "r1267",
      "r1268",
      "r1269",
      "r1270",
      "r1271",
      "r1272",
      "r1273",
      "r1274",
      "r1275",
      "r1276",
      "r1479"
     ]
    },
    "cofs_InterestRateLockCommitmentsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "InterestRateLockCommitmentsFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents fair value portion of interest rate lock commitments.",
        "label": "Interest rate lock commitments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestRateSwapMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InterestRateSwapMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest rate swaps",
        "label": "Interest Rate Swaps [Member]",
        "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period."
       }
      }
     },
     "auth_ref": [
      "r1117",
      "r1152",
      "r1153",
      "r1477"
     ]
    },
    "us-gaap_InternalCreditAssessmentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InternalCreditAssessmentAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Internal Credit Assessment [Axis]",
        "documentation": "Information by entity-defined rating."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1056",
      "r1057",
      "r1402"
     ]
    },
    "us-gaap_InternalCreditAssessmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InternalCreditAssessmentDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Internal Credit Assessment [Domain]",
        "documentation": "Entity defined credit risk rating."
       }
      }
     },
     "auth_ref": [
      "r1056",
      "r1402"
     ]
    },
    "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Maturities of Securities",
        "label": "Investments Classified by Contractual Maturity Date [Table Text Block]",
        "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecurities1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Securities",
        "label": "Investments in Debt and Marketable Equity Securities (and Certain Trading Assets) Disclosure [Text Block]",
        "documentation": "The entire disclosure for investments in certain debt and equity securities."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r159",
      "r340",
      "r343",
      "r759",
      "r760",
      "r1517"
     ]
    },
    "cofs_IssuanceOfCommonStockConsiderationForMerger": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "IssuanceOfCommonStockConsiderationForMerger",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of Common Stock Consideration For Merger",
        "documentation": "Issuance of common stock consideration for merger.",
        "terseLabel": "Issuance of common stock as consideration for merger"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LaborAndRelatedExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LaborAndRelatedExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Salaries and benefits",
        "documentation": "Amount of expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee benefit."
       }
      }
     },
     "auth_ref": [
      "r844",
      "r1014",
      "r1283"
     ]
    },
    "dei_LegalEntityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "LegalEntityAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Entity [Axis]",
        "documentation": "The set of legal entities associated with a report."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r47",
      "r48",
      "r49",
      "r52",
      "r53",
      "r54",
      "r55",
      "r245",
      "r247",
      "r248",
      "r377",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r642",
      "r643",
      "r644",
      "r773",
      "r929",
      "r1024",
      "r1066",
      "r1159",
      "r1418",
      "r1509",
      "r1510"
     ]
    },
    "us-gaap_LiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities [Abstract]",
        "terseLabel": "Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and shareholders\u2019 equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r92",
      "r866",
      "r1137",
      "r1145",
      "r1146",
      "r1333",
      "r1337",
      "r1389",
      "r1506"
     ]
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-term line of credit",
        "totalLabel": "Long-Term Line of Credit, Total",
        "label": "Long-Term Line of Credit",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r90",
      "r1527"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Line of credit facility, maximum borrowing capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r51"
     ]
    },
    "us-gaap_LineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LineOfCreditMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit [Member]",
        "label": "Line of Credit [Member]",
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoanRestructuringModificationNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LoanRestructuringModificationNameAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loan Restructuring Modification Name [Axis]",
        "documentation": "Information by name of loan modification, for example, but not limited to, modifications under government programs."
       }
      }
     },
     "auth_ref": [
      "r1358"
     ]
    },
    "us-gaap_LoanRestructuringModificationNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LoanRestructuringModificationNameDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loan Restructuring Modification Name [Domain]",
        "documentation": "Name of loan modification, for example, but not limited to, modifications under government programs."
       }
      }
     },
     "auth_ref": [
      "r1358"
     ]
    },
    "cofs_LoansAndLeaseReceivableOutstandingBalanceOnPCDLoans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "LoansAndLeaseReceivableOutstandingBalanceOnPCDLoans",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loans and Lease Receivable Outstanding Balance on PCD Loans",
        "documentation": "Loans and lease receivable outstanding balance on PCD loans.",
        "terseLabel": "Loan Balance"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansAndLeasesReceivableGrossCarryingAmountCovered": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LoansAndLeasesReceivableGrossCarryingAmountCovered",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_NotesReceivableGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loans and Leases Receivable, Gross, Carrying Amount, Covered",
        "terseLabel": "Core loans (Note 3)",
        "verboseLabel": "Gross Loans",
        "documentation": "Aggregate gross carrying amount of loans and leases receivable covered by loss sharing agreements."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_LoansByTypeAsPercentageOfPortfolioTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "LoansByTypeAsPercentageOfPortfolioTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loans by Type as Percentage of Portfolio",
        "label": "Loans by Type as Percentage of Portfolio [Table Text Block]",
        "documentation": "Loans by type as percentage of portfolio."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LoansHeldForSaleFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LoansHeldForSaleFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Loans held for sale",
        "label": "Loan, Held-for-Sale, Fair Value Disclosure",
        "documentation": "Fair value portion of loans held-for-sale including, but not limited to, mortgage loans and finance receivables."
       }
      }
     },
     "auth_ref": [
      "r735",
      "r736",
      "r766",
      "r768",
      "r769",
      "r771",
      "r1488",
      "r1489",
      "r1490"
     ]
    },
    "us-gaap_LoansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LoansMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loans [Member]",
        "terseLabel": "Loans [Member]",
        "documentation": "When a lender gives money or property over other debt securities sold by the issuer. In the event the issuer goes bankrupt, senior debt holders receive priority for [must receive] repayment [prior] relative to junior and unsecured (general) creditors."
       }
      }
     },
     "auth_ref": [
      "r1020",
      "r1021",
      "r1138"
     ]
    },
    "us-gaap_LoansReceivableFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LoansReceivableFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loans, net",
        "terseLabel": "Loans, net",
        "documentation": "Fair value portion of loan receivable, including, but not limited to, mortgage loans held for investment, finance receivables held for investment, policy loans on insurance contracts."
       }
      }
     },
     "auth_ref": [
      "r1000",
      "r1135",
      "r1501",
      "r1502",
      "r1503",
      "r1505"
     ]
    },
    "us-gaap_LoansReceivableHeldForSaleNetNotPartOfDisposalGroup": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LoansReceivableHeldForSaleNetNotPartOfDisposalGroup",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Held-for-Sale, Not Part of Disposal Group, after Valuation Allowance",
        "terseLabel": "Loans held for sale",
        "periodEndLabel": "Financing Receivable, Held-for-Sale, Not Part of Disposal Group, after Valuation Allowance, Ending Balance",
        "periodStartLabel": "Financing Receivable, Held-for-Sale, Not Part of Disposal Group, after Valuation Allowance, Beginning Balance",
        "documentation": "Amount, after valuation allowance, of financing receivable held for sale and not part of disposal group. Excludes loan covered under loss sharing agreement and loan classified as investment in debt security."
       }
      }
     },
     "auth_ref": [
      "r1357"
     ]
    },
    "cofs_LoansToOtherFinancialInstitutionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "LoansToOtherFinancialInstitutionsMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Loans To Other Financial Institutions Member",
        "label": "Loans To Other Financial Institutions [Member]",
        "terseLabel": "Loans to other financial institutions [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongtermDebtTypeAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesParentheticalDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Type [Axis]",
        "documentation": "Information by type of long-term debt."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r1411",
      "r1412",
      "r1413"
     ]
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "LongtermDebtTypeDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfBankTermFundingProgramAdvancesParentheticalDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Type [Domain]",
        "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r37",
      "r1411",
      "r1412",
      "r1413"
     ]
    },
    "us-gaap_MarketableSecuritiesPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "MarketableSecuritiesPolicy",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Marketable Securities, Policy [Policy Text Block]",
        "terseLabel": "Securities",
        "verboseLabel": "ACL for Securities",
        "documentation": "Disclosure of accounting policy for investment classified as marketable security."
       }
      }
     },
     "auth_ref": [
      "r42"
     ]
    },
    "us-gaap_MarketingAndAdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "MarketingAndAdvertisingExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Marketing and Advertising Expense, Total",
        "label": "Advertising and promotional",
        "documentation": "The total expense recognized in the period for promotion, public relations, and brand or product advertising."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r1014"
     ]
    },
    "us-gaap_Maturity30To90DaysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Maturity30To90DaysMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "30-89 days [Member]",
        "label": "Maturity 30 to 90 Days [Member]",
        "documentation": "Maturity period that is more than 29 days but fewer than 91 days from the reporting date for repurchase agreements and similar transactions, for example, but not limited to, securities lending arrangements."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r251",
      "r1138"
     ]
    },
    "us-gaap_MaturityOver90DaysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "MaturityOver90DaysMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Greater than 90 days [Member]",
        "label": "Maturity Greater than 90 Days [Member]",
        "documentation": "Maturity period of over 90 days from the reporting date for repurchase agreements and similar transactions, for example, but not limited to, securities lending arrangements."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r252",
      "r1138"
     ]
    },
    "us-gaap_MaturityUpTo30DaysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "MaturityUpTo30DaysMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current [Member]",
        "label": "Maturity Less than 30 Days [Member]",
        "documentation": "Maturity period of up to 30 days from the reporting date for repurchase agreements and similar transactions, for example, but not limited to, securities lending arrangements."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r250",
      "r1138"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum [Member]",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r178",
      "r179",
      "r180",
      "r182",
      "r183",
      "r301",
      "r446",
      "r447",
      "r448",
      "r449",
      "r514",
      "r539",
      "r540",
      "r541",
      "r550",
      "r739",
      "r833",
      "r886",
      "r888",
      "r902",
      "r921",
      "r922",
      "r972",
      "r973",
      "r974",
      "r975",
      "r987",
      "r991",
      "r992",
      "r993",
      "r994",
      "r996",
      "r997",
      "r1038",
      "r1067",
      "r1083",
      "r1085",
      "r1092",
      "r1095",
      "r1128",
      "r1129",
      "r1133",
      "r1134",
      "r1142",
      "r1420",
      "r1511",
      "r1512",
      "r1513",
      "r1514",
      "r1515",
      "r1516"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r1208"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1208"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum [Member]",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r178",
      "r179",
      "r180",
      "r182",
      "r183",
      "r301",
      "r446",
      "r447",
      "r448",
      "r449",
      "r514",
      "r539",
      "r540",
      "r541",
      "r550",
      "r739",
      "r833",
      "r886",
      "r888",
      "r902",
      "r921",
      "r922",
      "r972",
      "r973",
      "r974",
      "r975",
      "r987",
      "r991",
      "r992",
      "r993",
      "r994",
      "r996",
      "r997",
      "r1038",
      "r1067",
      "r1083",
      "r1085",
      "r1092",
      "r1095",
      "r1128",
      "r1129",
      "r1133",
      "r1142",
      "r1420",
      "r1511",
      "r1512",
      "r1513",
      "r1514",
      "r1515",
      "r1516"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r1227"
     ]
    },
    "us-gaap_MortgageBackedSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "MortgageBackedSecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Mortgage-backed [Member]",
        "label": "Collateralized Mortgage-Backed Securities [Member]",
        "verboseLabel": "Agency Mortgage Backed Securities [Member]",
        "documentation": "Securities collateralized by mortgage loans."
       }
      }
     },
     "auth_ref": [
      "r1076",
      "r1077",
      "r1078",
      "r1079",
      "r1080",
      "r1364",
      "r1365",
      "r1366",
      "r1371",
      "r1379",
      "r1559"
     ]
    },
    "cofs_MortgageWarehouseAdvances": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "MortgageWarehouseAdvances",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_NotesReceivableGross",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Mortgage Warehouse Advances",
        "documentation": "Mortgage warehouse advances.",
        "terseLabel": "Mortgage warehouse advances (Note 3)"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_MortgageWarehouseAdvancesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "MortgageWarehouseAdvancesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Mortgage Warehouse Advances [Member]",
        "documentation": "Mortgage warehouse advances."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r1235"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1209"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation",
        "totalLabel": "Net provided by (used in) financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activity, including, but not limited to, discontinued operation. Financing activity includes, but is not limited to, obtaining resource from owner and providing return on, and return of, their investment; borrowing money and repaying amount borrowed, or settling obligation; and obtaining and paying for other resource obtained from creditor on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r238"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation",
        "totalLabel": "Net cash provided by (used in) investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activity, including, but not limited to, discontinued operation. Investing activity includes, but is not limited to, making and collecting loan, acquiring and disposing of debt and equity instruments, property, plant, and equipment, and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r238"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation",
        "totalLabel": "Net cash (used in) provided by operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activity, including, but not limited to, discontinued operation. Operating activity includes, but is not limited to, transaction, adjustment, and change in value not defined as investing or financing activity."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r76",
      "r77"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 19.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingScheduleOfReconciliationOfTotalRevenuesProfitOrLossAndAssetsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "totalLabel": "Net income (loss)",
        "verboseLabel": "Net income (loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r77",
      "r105",
      "r194",
      "r195",
      "r213",
      "r216",
      "r220",
      "r245",
      "r247",
      "r248",
      "r249",
      "r258",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r270",
      "r271",
      "r286",
      "r377",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r480",
      "r483",
      "r485",
      "r488",
      "r546",
      "r568",
      "r640",
      "r733",
      "r773",
      "r869",
      "r950",
      "r966",
      "r967",
      "r1012",
      "r1014",
      "r1016",
      "r1157",
      "r1418"
     ]
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasic",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Income (Loss) Available to Common Stockholders, Basic, Total",
        "label": "Net Income (Loss) Available to Common Stockholders, Basic",
        "terseLabel": "Net (loss) income",
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities; of income (loss) available to common shareholders."
       }
      }
     },
     "auth_ref": [
      "r194",
      "r225",
      "r263",
      "r264",
      "r265",
      "r266",
      "r275",
      "r276",
      "r287",
      "r290",
      "r483",
      "r485",
      "r488",
      "r640"
     ]
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NetIncomeLossAvailableToCommonStockholdersDiluted",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Income (Loss) Available to Common Stockholders, Diluted, Total",
        "label": "Net Income (Loss) Available to Common Stockholders, Diluted",
        "verboseLabel": "Net (loss) income",
        "documentation": "Amount, after deduction of tax, noncontrolling interests, dividends on preferred stock and participating securities, and addition from assumption of issuance of common shares for dilutive potential common shares; of income (loss) available to common shareholders."
       }
      }
     },
     "auth_ref": [
      "r225",
      "r277",
      "r282",
      "r283",
      "r284",
      "r285",
      "r287",
      "r290"
     ]
    },
    "cofs_NetIncreaseFromSecurityTransaction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "NetIncreaseFromSecurityTransaction",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Increase from Security Transaction",
        "documentation": "Net increase from security transaction.",
        "terseLabel": "Net increase from security transaction"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r1208"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r1172",
      "r1182",
      "r1192",
      "r1216",
      "r1224"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1199"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1198"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r1216"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r1235"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r1235"
     ]
    },
    "cofs_NonaccrualFinancingReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "NonaccrualFinancingReceivableMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonaccrual Financing Receivable [Member]",
        "documentation": "Nonaccrual financing receivable."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NondesignatedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NondesignatedMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Not Designated as Hedging Instrument [Member]",
        "terseLabel": "Not Designated as Hedging Instrument [Member]",
        "documentation": "Derivative instrument not designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoninterestBearingDepositLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoninterestBearingDepositLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Deposits",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Noninterest-bearing deposits",
        "totalLabel": "Noninterest-Bearing Deposit Liabilities, Total",
        "label": "Noninterest-Bearing Deposit Liabilities",
        "terseLabel": "Deposits - noninterest - bearing",
        "documentation": "The aggregate amount of all domestic and foreign noninterest-bearing deposits liabilities held by the entity."
       }
      }
     },
     "auth_ref": [
      "r86"
     ]
    },
    "us-gaap_NoninterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoninterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest Expense",
        "totalLabel": "Total noninterest expense",
        "documentation": "Total aggregate amount of all noninterest expense."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r1014"
     ]
    },
    "us-gaap_NoninterestExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoninterestExpenseAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoninterestIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoninterestIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest Income",
        "totalLabel": "Total noninterest income",
        "documentation": "The total amount of noninterest income which may be derived from: (1) fees and commissions; (2) premiums earned; (3) insurance policy charges; (4) the sale or disposal of assets; and (5) other sources not otherwise specified."
       }
      }
     },
     "auth_ref": [
      "r99",
      "r1014"
     ]
    },
    "us-gaap_NoninterestIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoninterestIncomeAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest income"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoninterestIncomeOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoninterestIncomeOther",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest Income, Other",
        "verboseLabel": "Other",
        "documentation": "Represents the total of noninterest income derived from certain activities and assets including (for example): (1) venture capital investments; (2) bank owned life insurance; (3) foreign currency transactions; and (4) mortgage servicing rights."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_NoninterestIncomeOtherOperatingIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NoninterestIncomeOtherOperatingIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest Income, Other Operating Income",
        "terseLabel": "Noninterest income within the scope of other GAAP topics",
        "documentation": "Amount of revenue earned, classified as other, excluding interest income."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r99"
     ]
    },
    "us-gaap_NonperformingFinancingReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NonperformingFinancingReceivableMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonperforming Financial Instruments [Member]",
        "terseLabel": "Non-PCD Loans [Member]",
        "documentation": "Category status of financial instruments in which payments are past due in accordance with the terms of the contract. Financial instruments include, but are not limited to, financing receivables, loans, debt, and investments."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1402"
     ]
    },
    "us-gaap_NotesReceivableGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NotesReceivableGross",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_NotesReceivableNet",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving",
        "label": "Financing Receivable, before Allowance for Credit Loss",
        "totalLabel": "Total loans held for investment (Note 3)",
        "verboseLabel": "Loans",
        "periodEndLabel": "Ending loan balance",
        "documentation": "Amortized cost, before allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement and net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r137",
      "r162",
      "r163",
      "r201",
      "r330",
      "r396",
      "r408",
      "r764",
      "r990",
      "r1057",
      "r1058",
      "r1257",
      "r1391"
     ]
    },
    "us-gaap_NotesReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NotesReceivableNet",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loans, net",
        "label": "Financing Receivable, after Allowance for Credit Loss",
        "documentation": "Amortized cost, after allowance for credit loss, of financing receivable. Excludes financing receivable covered under loss sharing agreement and net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r408",
      "r938",
      "r1357",
      "r1529"
     ]
    },
    "cofs_NotesToFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "NotesToFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Notes To Financial Statements Abstract",
        "label": "Notes To Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_NumberOfBranchOffices": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "NumberOfBranchOffices",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents number of branch office.",
        "label": "cofs_NumberOfBranchOffices",
        "terseLabel": "Number of branch offices"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_NumberOfDaysIndividuallyEvaluation": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "NumberOfDaysIndividuallyEvaluation",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of days individually evaluation",
        "label": "Number of Days Individually Evaluation",
        "documentation": "Number of Days Individually Evaluation"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_NumberOfLoanProductionOffices": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "NumberOfLoanProductionOffices",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of loan production offices.",
        "label": "Number of loan production offices"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reportable segments",
        "verboseLabel": "Number of reportable segments",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r1026",
      "r1036",
      "r1352"
     ]
    },
    "cofs_OCIDebtSecuritiesTransferToHeldtomaturityFromAvailableforsaleAdjustmentFromAOCIForAmortizationOfNetUnrealizedGainLossTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OCIDebtSecuritiesTransferToHeldtomaturityFromAvailableforsaleAdjustmentFromAOCIForAmortizationOfNetUnrealizedGainLossTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "cofs_OciDebtSecuritiesHeldtomaturityUnrealizedGainLossAfterAdjustmentAndTaxTotal",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amortization of net unrealized (gains) losses on securities transferred from available-for-sale to held-to-maturity, Income tax benefit (expense)",
        "label": "Amortization of net unrealized (gains) losses on securities transferred from available-for-sale to held-to-maturity, Income tax benefit (expense)",
        "documentation": "The amount of tax from oci debt securities transfer to held to maturity from available for sale adjustment from aoci for amortization of net unrealized gain (loss)",
        "negatedLabel": "Amortization of net unrealized (gains) losses on securities transferred from available-for-sale to held-to-maturity, Income tax benefit (expense)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OccupancyNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OccupancyNet",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Occupancy and equipment",
        "documentation": "Amount of net occupancy expense that may include items, such as depreciation of facilities and equipment, lease expenses, property taxes and property and casualty insurance expense."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r100",
      "r150"
     ]
    },
    "us-gaap_OciDebtSecuritiesAvailableForSaleTransferToHeldToMaturityAdjustmentFromAociForAmortizationOfGainLossAfterTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OciDebtSecuritiesAvailableForSaleTransferToHeldToMaturityAdjustmentFromAociForAmortizationOfGainLossAfterTax",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Transfer to Held-to-Maturity, Adjustment from AOCI for Amortization of Gain (Loss), after Tax",
        "terseLabel": "OCI, Debt Securities, Available-for-Sale, Transfer to Held-to-Maturity, Adjustment from AOCI for Amortization of Gain (Loss), after Tax",
        "documentation": "Amount, after tax, of adjustment from accumulated other comprehensive income (loss) for amortization of gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) from transfer to investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r1278",
      "r1361"
     ]
    },
    "us-gaap_OciDebtSecuritiesAvailableForSaleTransferToHeldToMaturityAdjustmentFromAociForAmortizationOfGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OciDebtSecuritiesAvailableForSaleTransferToHeldToMaturityAdjustmentFromAociForAmortizationOfGainLossBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Transfer to Held-to-Maturity, Adjustment from AOCI for Amortization of Gain (Loss), before Tax",
        "terseLabel": "Less: net unrealized (gains) losses on securities transferred from available-for-sale to held-to-maturity",
        "negatedLabel": "Less: net unrealized (gains) losses on securities transferred from available-for-sale to held-to-maturity",
        "documentation": "Amount, before tax, of adjustment from accumulated other comprehensive income (loss) for amortization of gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) from transfer to investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r1361"
     ]
    },
    "us-gaap_OciDebtSecuritiesAvailableForSaleTransferToHeldToMaturityAdjustmentFromAociForAmortizationOfGainLossTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OciDebtSecuritiesAvailableForSaleTransferToHeldToMaturityAdjustmentFromAociForAmortizationOfGainLossTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Transfer to Held-to-Maturity, Adjustment from AOCI for Amortization of Gain (Loss), Tax",
        "negatedLabel": "Less: net unrealized (gains) losses on securities transferred from available-for-sale to held-to-maturity",
        "terseLabel": "Net unrealized (gains) losses on securities transferred from available-for-sale to held-to-maturity, Income tax benefit (expense)",
        "documentation": "Amount of tax expense (benefit) on adjustment from accumulated other comprehensive income (loss) for amortization of gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) from transfer to investment in debt security measured at amortized cost (held-to-maturity)."
       }
      }
     },
     "auth_ref": [
      "r1361"
     ]
    },
    "cofs_OciDebtSecuritiesAvailableforsaleTransferToHeldtomaturityAdjustmentFromAociUnamortizedAfterTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OciDebtSecuritiesAvailableforsaleTransferToHeldtomaturityAdjustmentFromAociUnamortizedAfterTax",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of adjustment from accumulated other comprehensive income (loss) stay unamortized on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) from transfer to investment in debt security measured at amortized cost (held-to-maturity).",
        "label": "cofs_OciDebtSecuritiesAvailableforsaleTransferToHeldtomaturityAdjustmentFromAociUnamortizedAfterTax",
        "terseLabel": "OCI, Debt Securities, Available-for-Sale, Transfer to Held-to-Maturity, Adjustment from AOCI Unamortized, After Tax"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_OciDebtSecuritiesHeldtomaturityUnrealizedGainLossAfterAdjustmentAndTaxTotal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OciDebtSecuritiesHeldtomaturityUnrealizedGainLossAfterAdjustmentAndTaxTotal",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on held-to-maturity securities recognized in other comprehensive income.",
        "label": "cofs_OciDebtSecuritiesHeldtomaturityUnrealizedGainLossAfterAdjustmentAndTaxTotal",
        "totalLabel": "Unrealized loss on held to maturity securities, net of tax"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_OciDebtSecuritiesTransferToHeldtomaturityFromAvailableforsaleAdjustmentFromAociForAmortizationOfNetUnrealizedGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OciDebtSecuritiesTransferToHeldtomaturityFromAvailableforsaleAdjustmentFromAociForAmortizationOfNetUnrealizedGainLossBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "cofs_OciDebtSecuritiesHeldtomaturityUnrealizedGainLossAfterAdjustmentAndTaxTotal",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Amortization of net unrealized (gains) losses on securities transferred from available-for-sale to held-to-maturity",
        "documentation": "Amount, before tax, of adjustment from accumulated other comprehensive income (loss) for amortization of gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) from transfer to investment in debt security measured at amortized cost (held-to-maturity).",
        "label": "cofs_OciDebtSecuritiesTransferToHeldtomaturityFromAvailableforsaleAdjustmentFromAociForAmortizationOfNetUnrealizedGainLossBeforeTax"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_OneSofrCapAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OneSofrCapAgreementMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "One SOFR Cap Agreement.",
        "label": "One SOFR Cap Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "totalLabel": "Other Assets, Total",
        "label": "Other Assets",
        "documentation": "Amount of assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r198",
      "r860",
      "r1032",
      "r1145",
      "r1146",
      "r1159"
     ]
    },
    "us-gaap_OtherAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherAssetsMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets [Member]",
        "terseLabel": "Other Assets",
        "documentation": "Primary financial statement caption encompassing other assets."
       }
      }
     },
     "auth_ref": [
      "r1119"
     ]
    },
    "cofs_OtherChargesAndFeesForCustomerServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OtherChargesAndFeesForCustomerServicesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to other charges and fees for customer services.",
        "label": "Other Charges and Fees for Customer Services [Member]",
        "terseLabel": "Other charges and fees for customer services"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Gain (Loss), after Adjustment and Tax",
        "totalLabel": "Unrealized gain (loss) on available-for-sale securities, net of tax",
        "documentation": "Amount, after tax and adjustment, of unrealized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale) and unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r208",
      "r209",
      "r870"
     ]
    },
    "cofs_OtherComprehensiveIncomeLossCashFlowHedgeAmortizationOfNetUnrealizedGainLossReclassificationBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeAmortizationOfNetUnrealizedGainLossReclassificationBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, of reclassification of amortization of net unrealized gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.",
        "label": "cofs_OtherComprehensiveIncomeLossCashFlowHedgeAmortizationOfNetUnrealizedGainLossReclassificationBeforeTax",
        "negatedLabel": "Less: accretion of net unrealized (gains) losses included in net income"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_OtherComprehensiveIncomeLossCashFlowHedgeAmortizationOfNetUnrealizedGainLossReclassificationTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeAmortizationOfNetUnrealizedGainLossReclassificationTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of tax on other comprehensive income (loss) cash flow hedge amortization of net unrealized gain (loss) reclassification.",
        "label": "Less: amortization of net unrealized (gains) losses included in net income, Income tax benefit (expense)",
        "negatedLabel": "Amortization of net unrealized (gains) losses included in net income, Income tax benefit (expense)",
        "terseLabel": "Less: accretion of net unrealized (gains) losses included in net income, Income tax benefit (expense)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Unrealized gain (loss) on cash flow hedge instruments, net of tax",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), after Reclassification and Tax",
        "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r209",
      "r870"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Change in net unrealized gain (loss) on cash flow hedge",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification and Tax",
        "documentation": "Amount, before tax and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r209",
      "r658",
      "r665",
      "r707",
      "r1119"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Change in net unrealized gain (loss) on cash flow hedge, Income tax benefit (expense)",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), before Reclassification, Tax",
        "documentation": "Amount, before reclassification, of tax expense (benefit) for gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r210"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: reclassification adjustment for net (gain) loss on cash flow hedge",
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, before Tax",
        "documentation": "Amount, before tax, of reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r209",
      "r211",
      "r667",
      "r1119"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Cash Flow Hedge, Gain (Loss), Reclassification, Tax",
        "terseLabel": "Less: reclassification adjustment for net (gain) loss on cash flow hedge, Income tax benefit (expense)",
        "negatedLabel": "Less: reclassification adjustment for net (gain) loss on cash flow hedge,Income tax benefit (expense)",
        "documentation": "Amount of tax expense (benefit) for reclassification of gain (loss) from accumulated other comprehensive income (AOCI) for derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r210"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other comprehensive income (loss), net of tax",
        "label": "Other comprehensive income (loss)",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r16",
      "r214",
      "r217",
      "r222",
      "r267",
      "r777",
      "r778",
      "r783",
      "r845",
      "r870",
      "r1279",
      "r1280"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParentAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent [Abstract]",
        "terseLabel": "Other comprehensive income:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, before Tax",
        "negatedLabel": "Less: reclassification adjustment for net (gain) loss included in net income",
        "documentation": "Amount before tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r65",
      "r212",
      "r375"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Tax",
        "terseLabel": "Less: reclassification adjustment for net (gain) loss included in net income, Income tax benefit (expense)",
        "documentation": "Amount of tax expense (benefit) of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "cofs_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociForAvailableForSaleSecuritiesFairValueHedgeBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociForAvailableForSaleSecuritiesFairValueHedgeBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other comprehensive income (loss), reclassification adjustment from aoci for available-for-sale securities, fair value hedge, before tax.",
        "label": "Other Comprehensive Income Loss Reclassification Adjustment From AOCI For Available For Sale Securities Fair Value Hedge Before Tax",
        "negatedLabel": "Less: reclassification adjustment for net (gain) loss for fair value hedge"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociForAvailableForSaleSecuritiesFairValueHedgeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociForAvailableForSaleSecuritiesFairValueHedgeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other comprehensive income (loss), reclassification adjustment from aoci for available-for-sale securities, fair value hedge, tax.",
        "label": "Other Comprehensive Income Loss Reclassification Adjustment From AOCI For Available For Sale Securities Fair Value Hedge Tax",
        "terseLabel": "Less: reclassification adjustment for net (gain) loss for fair value hedge, Income tax benefit (expense)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociForInvestmentTransferredFromAvailableForSaleToEquityMethodBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociForInvestmentTransferredFromAvailableForSaleToEquityMethodBeforeTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "cofs_OciDebtSecuritiesHeldtomaturityUnrealizedGainLossAfterAdjustmentAndTaxTotal",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassification of unrealized gain (loss) upon transfer of securities from available-for-sale to held-to-maturity",
        "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Investment Transferred from Available-for-Sale to Equity Method, before Tax",
        "negatedLabel": "Reclassification of unrealized gain (loss) upon transfer of securities from available-for-sale to held-to-maturity",
        "documentation": "Amount, before tax, of reclassification adjustment from accumulated other comprehensive income (loss) for unrealized gain (loss) of investment classified as available-for-sale transferred to equity method."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r212"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociForInvestmentTransferredFromAvailableForSaleToEquityMethodTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociForInvestmentTransferredFromAvailableForSaleToEquityMethodTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "cofs_OciDebtSecuritiesHeldtomaturityUnrealizedGainLossAfterAdjustmentAndTaxTotal",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Investment Transferred from Available-for-Sale to Equity Method, Tax",
        "terseLabel": "Reclassification of unrealized gain (loss) upon transfer of securities from available-for-sale to held-to-maturity, Income tax benefit (expense)",
        "documentation": "Amount of tax expense (benefit) for reclassification adjustment from accumulated other comprehensive income (loss) for unrealized gain (loss) of investment classified as available-for-sale transferred to equity method."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment and Tax",
        "terseLabel": "Change in net unrealized gain (loss) on available-for-sale securities",
        "documentation": "Amount, before tax and adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r209",
      "r375"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-comprehensive-income-loss-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OCI, Debt Securities, Available-for-Sale, Unrealized Holding Gain (Loss), before Adjustment, Tax",
        "negatedTerseLabel": "Change in net unrealized gain (loss) on available-for-sale securities, Income tax benefit (expense)",
        "documentation": "Amount, before adjustment, of tax expense (benefit) for unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes tax expense (benefit) for unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r208"
     ]
    },
    "us-gaap_OtherInterestAndDividendIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherInterestAndDividendIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestAndDividendIncomeOperating",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other",
        "documentation": "Amount, after discount, accretion and premium amortization, of interest income and dividend income classified as other."
       }
      }
     },
     "auth_ref": [
      "r107"
     ]
    },
    "us-gaap_OtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other liabilities",
        "totalLabel": "Other Liabilities, Total",
        "label": "Other Liabilities",
        "documentation": "Amount of liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r862",
      "r925",
      "r926",
      "r1066",
      "r1145",
      "r1146",
      "r1159",
      "r1528",
      "r1563"
     ]
    },
    "us-gaap_OtherLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherLiabilitiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfTheNotionalAndFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Liabilities [Member]",
        "terseLabel": "Other Liabilities",
        "documentation": "Primary financial statement caption encompassing other liabilities."
       }
      }
     },
     "auth_ref": [
      "r1119"
     ]
    },
    "us-gaap_OtherNoninterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherNoninterestExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Noninterest Expense",
        "verboseLabel": "Other",
        "documentation": "Amount of noninterest expense classified as other."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r1014"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r1208"
     ]
    },
    "us-gaap_OtherRealEstate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "OtherRealEstate",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other real estate owned, net",
        "periodEndLabel": "Other Real Estate, Ending Balance",
        "periodStartLabel": "Other Real Estate, Beginning Balance",
        "totalLabel": "Other Real Estate, Total",
        "label": "Other Real Estate",
        "documentation": "Carrying amount of other real estate not separately disclosed, including, but not limited to, real estate investments, real estate loans that qualify as investments in real estate, and premises that are no longer used in operations may also be included in real estate owned. This does not include real estate assets taken in settlement of troubled loans through surrender or foreclosure."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r1488",
      "r1489",
      "r1490"
     ]
    },
    "cofs_OtherRealEstateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "OtherRealEstateFairValue",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents fair value of other real estate.",
        "terseLabel": "Other Real Estate",
        "verboseLabel": "Other Real Estate",
        "label": "Other Real Estate Fair Value"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1170",
      "r1180",
      "r1190",
      "r1222"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1173",
      "r1183",
      "r1193",
      "r1225"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1173",
      "r1183",
      "r1193",
      "r1225"
     ]
    },
    "us-gaap_PassMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PassMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pass [Member]",
        "documentation": "A category of financing receivables not considered to be special mention, substandard, doubtful, and loss receivables."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1402",
      "r1403"
     ]
    },
    "us-gaap_PastDueFinancingReceivablesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PastDueFinancingReceivablesTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aging Analysis of Loans by Loan Category",
        "label": "Financing Receivable, Past Due [Table Text Block]",
        "documentation": "Tabular disclosure of aging analysis for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r1058",
      "r1400"
     ]
    },
    "cofs_PayFixedSwapAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PayFixedSwapAgreementMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Pay Fixed Swap Agreement.",
        "label": "Pay Fixed Swap Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_PayFixedSwapAgreementsExpiringIn2032Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PayFixedSwapAgreementsExpiringIn2032Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay Fixed Swap Agreements Expiring in 2032 [Member]",
        "documentation": "Pay fixed swap agreements expiring in 2032."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_PayFloatingSwapAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PayFloatingSwapAgreementMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Pay Floating Swap Agreement.",
        "label": "Pay Floating Swap Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1197"
     ]
    },
    "cofs_PaymentForSharesRetiredAfterMerger": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PaymentForSharesRetiredAfterMerger",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment for shares retired after merger",
        "documentation": "Payment for shares retired after merger.",
        "negatedLabel": "Fentura Financial shares retired after merger"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForLoans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsForLoans",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for Loans",
        "terseLabel": "Loans remitted payments",
        "documentation": "Cash payments for and related to principal collection on loans related to operating activities."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_PaymentsForOriginationOfMortgageLoansHeldForSale": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsForOriginationOfMortgageLoansHeldForSale",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 31.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment for Origination, Loan, Mortgage, Held-for-Sale",
        "negatedLabel": "Loans originated for sale",
        "documentation": "The amount of cash paid for the origination of mortgages that are held for sale."
       }
      }
     },
     "auth_ref": [
      "r1017",
      "r1331"
     ]
    },
    "us-gaap_PaymentsForProceedsFromLoansAndLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsForProceedsFromLoansAndLeases",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 26.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments for (Proceeds from) Loans and Leases, Total",
        "label": "Payments for (Proceeds from) Loans and Leases",
        "negatedLabel": "Loan originations and payments, net",
        "documentation": "The net cash outflow or inflow for the increase (decrease) in the beginning and end of period of loan and lease balances which are not originated or purchased specifically for resale. Includes cash payments and proceeds associated with (a) loans held-for-investment, (b) leases held-for-investment, and (c) both."
       }
      }
     },
     "auth_ref": [
      "r849"
     ]
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repurchase of common stock",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Repurchase of common stock",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_PaymentsOfDividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsOfDividends",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments of Dividends, Total",
        "label": "Payments of Dividends",
        "negatedLabel": "Cash dividends",
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r73"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "negatedLabel": "Share based compensation withholding obligation",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r235"
     ]
    },
    "us-gaap_PaymentsToAcquireAssetsInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireAssetsInvestingActivities",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Assets, Investing Activities",
        "negatedLabel": "Issuance costs",
        "documentation": "Aggregate cash payments for a combination of transactions that are classified as investing activities in which assets, which may include securities, other types of investments, or productive assets, are purchased from third-party sellers. This element can be used by entities to aggregate payments for all asset purchases that are classified as investing activities."
       }
      }
     },
     "auth_ref": [
      "r1327"
     ]
    },
    "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 28.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Debt Securities, Available-for-Sale",
        "negatedLabel": "Purchases of securities available for sale",
        "documentation": "Amount of cash outflow to acquire investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r233",
      "r342"
     ]
    },
    "us-gaap_PaymentsToAcquireBusinessesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireBusinessesGross",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Businesses, Gross",
        "terseLabel": "Cash price",
        "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r619",
      "r1085",
      "r1090",
      "r1099"
     ]
    },
    "us-gaap_PaymentsToAcquireEquitySecuritiesFvNi": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireEquitySecuritiesFvNi",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Equity Securities, FV-NI",
        "negatedLabel": "Purchases of equity securities",
        "documentation": "Amount of cash outflow to acquire investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as investing activity."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r237"
     ]
    },
    "us-gaap_PaymentsToAcquireFederalHomeLoanBankStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireFederalHomeLoanBankStock",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 23.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of Federal Home Loan Bank stock",
        "terseLabel": "Purchase of Federal Home Loan Bank stock",
        "label": "Payments to Acquire Federal Home Loan Bank Stock",
        "documentation": "Amount of cash outflow to acquire Federal Home Loan Bank (FHLB) stock."
       }
      }
     },
     "auth_ref": [
      "r1328"
     ]
    },
    "us-gaap_PaymentsToAcquireFederalReserveStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireFederalReserveStock",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Federal Reserve Bank Stock",
        "negatedLabel": "Purchase of Federal Reserve Bank stock",
        "documentation": "Amount of cash outflow to acquire Federal Reserve Bank (FRB) stock."
       }
      }
     },
     "auth_ref": [
      "r24"
     ]
    },
    "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireHeldToMaturitySecurities",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments to Acquire Held-to-Maturity Securities",
        "negatedLabel": "Purchases of securities held to maturity",
        "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r342"
     ]
    },
    "us-gaap_PaymentsToAcquireLifeInsurancePolicies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquireLifeInsurancePolicies",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payment to Acquire Life Insurance Policy, Investing Activities",
        "terseLabel": "Purchase of bank-owned life insurance policies",
        "negatedLabel": "Purchase of bank-owned life insurance policies",
        "documentation": "Amount of cash outflow for payment of premium on corporate-owned life insurance policy, classified as investing activities. Includes, but is not limited to, bank-owned life insurance policy."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r71"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Additions to premises and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1207"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r1207"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1199"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r1216"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r1209"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r1198"
     ]
    },
    "cofs_PercentageOfAllowanceForCreditLosses": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PercentageOfAllowanceForCreditLosses",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of allowance for credit losses",
        "label": "Percentage of Allowance for Credit Losses",
        "documentation": "Percentage of allowance for credit losses."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_PercentageOfIncreaseDecreaseOfLoansAndLeasesReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PercentageOfIncreaseDecreaseOfLoansAndLeasesReceivable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of increase decrease of loans",
        "label": "Percentage of Increase Decrease of Loans and Leases Receivable",
        "documentation": "Percentage of increase decrease of loans and leases receivable."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_PercentageOfLoanSAndLeasesReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PercentageOfLoanSAndLeasesReceivable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage of loans",
        "label": "Percentage of Loan s and Leases Receivable",
        "documentation": "Percentage of loan s and leases receivable."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_PercentageOfTotalClassOfFinancingReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PercentageOfTotalClassOfFinancingReceivable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of Total Class of Financing Receivable",
        "documentation": "Percentage of total class of financing receivable.",
        "terseLabel": "% of Total Class of Financing Receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PerformanceSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PerformanceSharesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Performance Shares [Member]",
        "documentation": "Share-based payment arrangement awarded for meeting performance target."
       }
      }
     },
     "auth_ref": [
      "r1427",
      "r1428",
      "r1429",
      "r1430",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435",
      "r1436",
      "r1437",
      "r1438",
      "r1439",
      "r1440",
      "r1441",
      "r1442",
      "r1443",
      "r1444",
      "r1445",
      "r1446",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452"
     ]
    },
    "us-gaap_PerformingFinancingReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PerformingFinancingReceivableMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "PCD Loans [Member]",
        "label": "Performing Financial Instruments [Member]",
        "documentation": "Category status of financial instruments in which payments are received or paid on a timely basis in accordance with the terms of the contract. Financial instruments include, but are not limited to, financing receivables, loans, debt instruments, and investments."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1402"
     ]
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1427",
      "r1428",
      "r1429",
      "r1430",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435",
      "r1436",
      "r1437",
      "r1438",
      "r1439",
      "r1440",
      "r1441",
      "r1442",
      "r1443",
      "r1444",
      "r1445",
      "r1446",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1427",
      "r1428",
      "r1429",
      "r1430",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435",
      "r1436",
      "r1437",
      "r1438",
      "r1439",
      "r1440",
      "r1441",
      "r1442",
      "r1443",
      "r1444",
      "r1445",
      "r1446",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Prior Service Cost [Member]",
        "terseLabel": "Pension Adjustments Prior Service Cost"
       }
      }
     },
     "auth_ref": [
      "r1200"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Service Cost [Member]",
        "terseLabel": "Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r1244"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote [Text Block]",
        "terseLabel": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r1199"
     ]
    },
    "us-gaap_PortionAtFairValueFairValueDisclosureMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PortionAtFairValueFairValueDisclosureMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFinancialInstrumentsSummaryOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "axisDefault": "Portion at Fair Value Measurement [Member] [Default]",
        "label": "Portion at Fair Value Measurement [Member]",
        "documentation": "Measured at fair value for financial reporting purposes."
       }
      }
     },
     "auth_ref": [
      "r765",
      "r766",
      "r768",
      "r769",
      "r771",
      "r773",
      "r774",
      "r1000",
      "r1504"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnauditedParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, authorized (in shares)",
        "label": "Preferred Stock, Shares Authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r930"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnauditedParentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock, outstanding (in shares)",
        "periodEndLabel": "Preferred Stock, Shares Outstanding, Ending Balance",
        "periodStartLabel": "Preferred Stock, Shares Outstanding, Beginning Balance",
        "label": "Preferred Stock, Shares Outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r930",
      "r949",
      "r1567",
      "r1568"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Preferred stock; shares authorized: 100,000; shares outstanding: none",
        "label": "Preferred Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r482",
      "r487",
      "r863",
      "r1137"
     ]
    },
    "cofs_ProceedsFromDerivativeContractsSettlements": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ProceedsFromDerivativeContractsSettlements",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Derivative Contracts Settlements",
        "documentation": "Proceeds from derivative contracts settlements.",
        "terseLabel": "Proceeds from derivative contracts settlements"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceInitialPublicOffering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromIssuanceInitialPublicOffering",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Issuance Initial Public Offering",
        "terseLabel": "Cash related to common stock offering",
        "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock",
        "label": "Proceeds from Issuance of Common Stock",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromIssuanceOfLongTermDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from borrowings",
        "label": "Proceeds from Issuance of Long-Term Debt",
        "totalLabel": "Proceeds from Issuance of Long-Term Debt, Total",
        "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r907"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromIssuanceOfSubordinatedLongTermDebt",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from issuance of subordinated long-term debt",
        "label": "Proceeds from Issuance of Subordinated Long-Term Debt",
        "documentation": "The cash inflow from a borrowing where a lender is placed in a lien position behind debt having a higher priority of repayment (senior) in liquidation of the entity's assets or underlying collateral."
       }
      }
     },
     "auth_ref": [
      "r25"
     ]
    },
    "us-gaap_ProceedsFromLifeInsurancePolicies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromLifeInsurancePolicies",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Life Insurance Policy",
        "terseLabel": "Proceeds from bank owned life insurance death benefits claim",
        "documentation": "Amount of cash inflow for proceeds from settlement of corporate-owned life insurance policy, classified as investing activities. Includes, but is not limited to, bank-owned life insurance policy."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r21"
     ]
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 30.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturities, prepayments and calls of securities available for sale",
        "label": "Proceeds from Maturities, Prepayments and Calls of Debt Securities, Available-for-Sale",
        "documentation": "Amount of cash inflow from maturity, prepayment and call of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r234",
      "r1363"
     ]
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfHeldToMaturitySecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 27.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturities, prepayments and calls of securities held to maturity",
        "label": "Proceeds from Maturities, Prepayments and Calls of Held-to-Maturity Securities",
        "documentation": "The cash inflow associated with the maturity, prepayments and calls (requests for early payments) of debt securities designated as held-to-maturity."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r1363"
     ]
    },
    "us-gaap_ProceedsFromRepaymentsOfShortTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromRepaymentsOfShortTermDebt",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net change in short term borrowings",
        "totalLabel": "Proceeds from (Repayments of) Short-Term Debt, Total",
        "label": "Proceeds from (Repayments of) Short-Term Debt",
        "documentation": "The net cash inflow or outflow for borrowing having initial term of repayment within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale and Maturity of Marketable Securities",
        "terseLabel": "Sales of securities available for sale",
        "verboseLabel": "Sales of equity securities",
        "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities (held-to-maturity or available-for-sale) during the period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSalesOfSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Debt Securities, Available-for-Sale",
        "terseLabel": "Proceeds from sales of securities",
        "documentation": "Amount of cash inflow from sale of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale)."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r233",
      "r342",
      "r374"
     ]
    },
    "us-gaap_ProceedsFromSaleOfLoansHeldForSale": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromSaleOfLoansHeldForSale",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 32.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Proceeds from loan sales",
        "totalLabel": "Proceeds from Sale of Loans Held-for-sale, Total",
        "label": "Proceeds from Sale, Loan, Held-for-Sale",
        "documentation": "The cash inflow resulting from the sale of loans classified as held-for-sale, including proceeds from loans sold through mortgage securitization."
       }
      }
     },
     "auth_ref": [
      "r1329",
      "r1330"
     ]
    },
    "us-gaap_ProceedsFromSaleOfOtherRealEstate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProceedsFromSaleOfOtherRealEstate",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Sale of Other Real Estate",
        "terseLabel": "Proceeds from sales of other real estate owned",
        "documentation": "The cash inflow associated with the sale of other real estate not otherwise defined in the taxonomy."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "documentation": "Information by product and service, or group of similar products and similar services."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r181",
      "r323",
      "r837",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r1001",
      "r1011",
      "r1014",
      "r1016",
      "r1068",
      "r1069",
      "r1141",
      "r1142",
      "r1143",
      "r1144",
      "r1148",
      "r1248",
      "r1261",
      "r1286",
      "r1287",
      "r1288",
      "r1289",
      "r1290",
      "r1291",
      "r1292",
      "r1293",
      "r1294",
      "r1295",
      "r1296",
      "r1297",
      "r1298",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1303",
      "r1304",
      "r1305",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315",
      "r1316",
      "r1317",
      "r1318",
      "r1319",
      "r1320",
      "r1321",
      "r1322",
      "r1323",
      "r1324",
      "r1325",
      "r1326",
      "r1415",
      "r1416",
      "r1530",
      "r1533",
      "r1534",
      "r1535",
      "r1536",
      "r1537",
      "r1538",
      "r1539",
      "r1540",
      "r1541",
      "r1542",
      "r1543",
      "r1544",
      "r1545",
      "r1546",
      "r1547",
      "r1548",
      "r1549",
      "r1550",
      "r1551",
      "r1552",
      "r1553",
      "r1554",
      "r1555",
      "r1556",
      "r1557",
      "r1558",
      "r1560",
      "r1561"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]",
        "documentation": "Product or service, or a group of similar products or similar services."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r177",
      "r181",
      "r323",
      "r837",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r1001",
      "r1011",
      "r1014",
      "r1016",
      "r1068",
      "r1069",
      "r1141",
      "r1142",
      "r1143",
      "r1144",
      "r1148",
      "r1248",
      "r1261",
      "r1286",
      "r1287",
      "r1288",
      "r1289",
      "r1290",
      "r1291",
      "r1292",
      "r1293",
      "r1294",
      "r1295",
      "r1296",
      "r1297",
      "r1298",
      "r1299",
      "r1300",
      "r1301",
      "r1302",
      "r1303",
      "r1304",
      "r1305",
      "r1306",
      "r1307",
      "r1308",
      "r1309",
      "r1310",
      "r1311",
      "r1312",
      "r1313",
      "r1314",
      "r1315",
      "r1316",
      "r1317",
      "r1318",
      "r1319",
      "r1320",
      "r1321",
      "r1322",
      "r1323",
      "r1324",
      "r1325",
      "r1326",
      "r1415",
      "r1416",
      "r1530",
      "r1533",
      "r1534",
      "r1535",
      "r1536",
      "r1537",
      "r1538",
      "r1539",
      "r1540",
      "r1541",
      "r1542",
      "r1543",
      "r1544",
      "r1545",
      "r1546",
      "r1547",
      "r1548",
      "r1549",
      "r1550",
      "r1551",
      "r1552",
      "r1553",
      "r1554",
      "r1555",
      "r1556",
      "r1557",
      "r1558",
      "r1560",
      "r1561"
     ]
    },
    "us-gaap_ProfessionalFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProfessionalFees",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Professional fees",
        "documentation": "A fee charged for services from professionals such as doctors, lawyers and accountants. The term is often expanded to include other professions, for example, pharmacists charging to maintain a medicinal profile of a client or customer."
       }
      }
     },
     "auth_ref": [
      "r1014",
      "r1031",
      "r1157",
      "r1565",
      "r1566"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Premises and equipment, net",
        "totalLabel": "Property, Plant and Equipment, Net, Total",
        "label": "Property, Plant and Equipment, Net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r790",
      "r856",
      "r867",
      "r1137"
     ]
    },
    "cofs_ProvisionExpenseOnSecurities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ProvisionExpenseOnSecurities",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Allowance for credit loss",
        "label": "Provision Expense on Securities",
        "documentation": "Provision expense on securities."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_ProvisionForCreditLossesOnUnfundedCommitments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ProvisionForCreditLossesOnUnfundedCommitments",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_ProvisionForLoanLeaseAndOtherLosses",
       "weight": -1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision For Credit Losses On Unfunded Commitments",
        "documentation": "Provision for credit losses on unfunded commitments.",
        "negatedLabel": "Provision for (reversal of) credit losses on unfunded commitments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForLoanLeaseAndOtherLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProvisionForLoanLeaseAndOtherLosses",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 0.0
      },
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_InterestIncomeExpenseAfterProvisionForLoanLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision for credit losses on loans",
        "label": "Provision for Loan, Lease, and Other Losses",
        "totalLabel": "Net Provision for (reversal of) credit losses expense",
        "verboseLabel": "Provision for (reversal of) credit losses",
        "documentation": "Amount of expense related loan transactions, lease transactions, credit loss from transactions other than loan and lease transactions, and other loss based on assessment of uncollectability from the counterparty to reduce the account to their net realizable value."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r94",
      "r118",
      "r1014"
     ]
    },
    "us-gaap_ProvisionForLoanLossesExpensed": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ProvisionForLoanLossesExpensed",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_ProvisionForLoanLeaseAndOtherLosses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Provision",
        "label": "Financing Receivable, Credit Loss, Expense (Reversal)",
        "verboseLabel": "Provision for (reversal of) credit losses on loans",
        "documentation": "Amount of credit loss expense (reversal of expense) for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r227",
      "r391",
      "r843"
     ]
    },
    "cofs_PurchasesWithCreditDeteriorationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PurchasesWithCreditDeteriorationMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchases With Credit Deterioration [Member]",
        "label": "Purchases With Credit Deterioration [Member]",
        "documentation": "Purchases with credit deterioration."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_PurchasesWithoutCreditDeteriorationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "PurchasesWithoutCreditDeteriorationMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchases Without Credit Deterioration [Member]",
        "label": "Purchases Without Credit Deterioration [Member]",
        "documentation": "Purchases Without Credit Deterioration."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1197"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r1197"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r178",
      "r179",
      "r180",
      "r182",
      "r183",
      "r301",
      "r446",
      "r447",
      "r448",
      "r449",
      "r504",
      "r514",
      "r539",
      "r540",
      "r541",
      "r543",
      "r550",
      "r739",
      "r804",
      "r814",
      "r833",
      "r886",
      "r888",
      "r902",
      "r921",
      "r922",
      "r972",
      "r973",
      "r974",
      "r975",
      "r987",
      "r991",
      "r992",
      "r993",
      "r994",
      "r996",
      "r997",
      "r1038",
      "r1067",
      "r1083",
      "r1085",
      "r1092",
      "r1095",
      "r1128",
      "r1129",
      "r1133",
      "r1134",
      "r1142",
      "r1150",
      "r1414",
      "r1420",
      "r1489",
      "r1512",
      "r1513",
      "r1514",
      "r1515",
      "r1516"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "RangeMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r168",
      "r169",
      "r170",
      "r171",
      "r178",
      "r179",
      "r180",
      "r182",
      "r183",
      "r301",
      "r446",
      "r447",
      "r448",
      "r449",
      "r504",
      "r514",
      "r539",
      "r540",
      "r541",
      "r543",
      "r550",
      "r739",
      "r804",
      "r814",
      "r833",
      "r886",
      "r888",
      "r902",
      "r921",
      "r922",
      "r972",
      "r973",
      "r974",
      "r975",
      "r987",
      "r991",
      "r992",
      "r993",
      "r994",
      "r996",
      "r997",
      "r1038",
      "r1067",
      "r1083",
      "r1085",
      "r1092",
      "r1095",
      "r1128",
      "r1129",
      "r1133",
      "r1134",
      "r1142",
      "r1150",
      "r1414",
      "r1420",
      "r1489",
      "r1512",
      "r1513",
      "r1514",
      "r1515",
      "r1516"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Receivables [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReclassificationTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ReclassificationTypeAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassification, Type [Axis]",
        "documentation": "Information by type of reclassification adjustment affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error."
       }
      }
     },
     "auth_ref": [
      "r1263"
     ]
    },
    "us-gaap_ReclassificationTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ReclassificationTypeDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassification, Type [Domain]",
        "documentation": "Type of reclassification adjustment affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error."
       }
      }
     },
     "auth_ref": [
      "r1263"
     ]
    },
    "cofs_ReclassifiedFromAvailableforsaleSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ReclassifiedFromAvailableforsaleSecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassified From Available-for-sale Securities [Member]",
        "documentation": "Represents reclassified from available for sale securities."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ReconciliationOfOtherSignificantReconcilingItemsFromSegmentsToConsolidatedTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Reconciliation of Total Revenues, Profit or Loss, and Assets",
        "label": "Segment, Reconciliation of Other Items from Segments to Consolidated [Table Text Block]",
        "documentation": "Tabular disclosure of reconciliation of other items from reportable segments to their consolidated amount. Excludes reconciliation of revenue, profit (loss), and assets."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r33"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1165",
      "r1175",
      "r1185",
      "r1217"
     ]
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments of Long-Term Debt",
        "totalLabel": "Repayments of Long-Term Debt, Total",
        "negatedLabel": "Payments on borrowings and subordinated debentures",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r908"
     ]
    },
    "us-gaap_ResidentialPortfolioSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ResidentialPortfolioSegmentMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesNonaccrualLoansByLoanCategoryDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Residential Portfolio Segment [Member]",
        "terseLabel": "Residential Real Estate [Member]",
        "documentation": "Portfolio segment of the company's total financing receivables related to residential financing receivables."
       }
      }
     },
     "auth_ref": [
      "r1392",
      "r1394",
      "r1395",
      "r1396",
      "r1397",
      "r1398",
      "r1399"
     ]
    },
    "us-gaap_ResidentialRealEstateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ResidentialRealEstateMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Residential Real Estate [Member]",
        "terseLabel": "Residential Real Estate [Member]",
        "documentation": "Property that is used as a home."
       }
      }
     },
     "auth_ref": [
      "r1038",
      "r1050",
      "r1425",
      "r1426"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r1166",
      "r1176",
      "r1186",
      "r1218"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r1167",
      "r1177",
      "r1187",
      "r1219"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r1174",
      "r1184",
      "r1194",
      "r1226"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": [
      "r1427",
      "r1428",
      "r1429",
      "r1430",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435",
      "r1436",
      "r1437",
      "r1438",
      "r1439",
      "r1440",
      "r1441",
      "r1442",
      "r1443",
      "r1444",
      "r1445",
      "r1446",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452"
     ]
    },
    "cofs_RetailLoansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "RetailLoansMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retail Loans [Member]",
        "documentation": "Retail loans.",
        "label": "Retail Loans [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained earnings",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r81",
      "r865",
      "r896",
      "r901",
      "r909",
      "r931",
      "r1137"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Retained Earnings [Member]",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r186",
      "r193",
      "r194",
      "r254",
      "r255",
      "r256",
      "r259",
      "r267",
      "r269",
      "r271",
      "r378",
      "r382",
      "r441",
      "r479",
      "r546",
      "r555",
      "r556",
      "r564",
      "r565",
      "r566",
      "r569",
      "r639",
      "r640",
      "r710",
      "r713",
      "r714",
      "r717",
      "r731",
      "r787",
      "r789",
      "r892",
      "r894",
      "r910",
      "r1567"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Including Assessed Tax",
        "terseLabel": "Noninterest income from contracts with customers within the scope of ASC 606",
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r114",
      "r295",
      "r308",
      "r309",
      "r316",
      "r320",
      "r323",
      "r325",
      "r326",
      "r500",
      "r501",
      "r502",
      "r837"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer Benchmark [Member]",
        "terseLabel": "Total Revenues",
        "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r326",
      "r1348",
      "r1349"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomers"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue from Contracts with Customers",
        "label": "Revenue from Contract with Customer [Text Block]",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r502",
      "r503"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingScheduleOfReconciliationOfTotalRevenuesProfitOrLossAndAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Revenues, Total",
        "label": "Revenues",
        "terseLabel": "Total Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r114",
      "r221",
      "r245",
      "r247",
      "r248",
      "r295",
      "r308",
      "r309",
      "r316",
      "r320",
      "r323",
      "r325",
      "r326",
      "r377",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r773",
      "r850",
      "r852",
      "r1031",
      "r1104",
      "r1145",
      "r1146",
      "r1418"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r1235"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r1235"
     ]
    },
    "cofs_SaleOfInterestRateSwaps": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "SaleOfInterestRateSwaps",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Interest Rate Swaps",
        "documentation": "Sale of Interest Rate Swaps.",
        "terseLabel": "Sale of interest rate swaps"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_SaleOfSecuritiesToPayDownWholesaleFunding": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "SaleOfSecuritiesToPayDownWholesaleFunding",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of Securities to Pay Down Wholesale Funding",
        "documentation": "Sale of securities to pay down wholesale funding.",
        "terseLabel": "Sale of securities to pay down wholesale funding"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAcquiredLoanPortfolioAndAcquisitionFairValueAdjustmentsDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesLoansByTypeAsPercentageOfPortfolioDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfImpairedLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and Financing Receivables [Table]",
        "documentation": "Disclosure of information about accounts and financing receivables. Includes, but is not limited to, amount of receivable and allowance for credit loss."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r64",
      "r331",
      "r1360"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Security, Excluded EPS Calculation [Table]",
        "documentation": "Disclosure of information about security that could potentially dilute basic earnings per share (EPS) in future that was not included in calculation of diluted EPS."
       }
      }
     },
     "auth_ref": [
      "r291"
     ]
    },
    "cofs_ScheduleOfBankTermFundingProgramAdvancesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ScheduleOfBankTermFundingProgramAdvancesTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of bank term funding program , advances.",
        "label": "Schedule of Bank Term Funding Program , Advances [Table Text Block]",
        "terseLabel": "Schedule of Bank Term Funding Program Advances"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Table]",
        "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability."
       }
      }
     },
     "auth_ref": [
      "r428",
      "r571",
      "r572",
      "r573",
      "r574",
      "r580",
      "r581",
      "r582",
      "r583",
      "r589",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r628",
      "r629",
      "r630",
      "r634",
      "r1085",
      "r1095",
      "r1459",
      "r1463",
      "r1465"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination [Table Text Block]",
        "terseLabel": "Summary of Allocation of Purchase Price",
        "documentation": "Tabular disclosure of business combination. Includes, but is not limited to, recognized asset and liability."
       }
      }
     },
     "auth_ref": [
      "r1085",
      "r1090",
      "r1457",
      "r1460",
      "r1462",
      "r1466",
      "r1467",
      "r1468"
     ]
    },
    "cofs_ScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ScheduleOfCollateralDependentLoansAndRelatedAllowanceForCreditLossesAllocatedToLoansTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Collateral Dependent Loans And Related Allowance For Credit Losses Allocated To Loans [Table Text Block]",
        "documentation": "Schedule of collateral dependent loans and related allowance for credit losses allocated to loans.",
        "terseLabel": "Schedule of Collateral Dependent Loans and Related Allowance For Credit Losses Allocated to Loans"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Derivatives Instruments in Balance Sheet Location",
        "label": "Schedule of Derivative Instruments in Statement of Financial Position, Fair Value [Table Text Block]",
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r656",
      "r659",
      "r682",
      "r1119"
     ]
    },
    "us-gaap_ScheduleOfDerivativesInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfDerivativesInstrumentsStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Location and Amount of Gain (Loss) in Income on Fair Value and Cash Flow Hedging Relationships",
        "label": "Schedule of Derivatives Instruments Statements of Financial Performance and Financial Position, Location [Table Text Block]",
        "documentation": "Tabular disclosure of derivative instruments (including nonderivative instruments that are designated and qualify as hedging instruments) of (a) the location and amount of gains and losses reported in the statement of financial performance and (b) the location and fair value amounts of the instruments reported in the statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r1475",
      "r1478"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Basic Earnings Per Share and Diluted Earnings Per Share",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r1345"
     ]
    },
    "us-gaap_ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue by Major Customers, by Reporting Segments [Table]",
        "documentation": "Disclosure of information about the extent of the entity's reliance on its major customers."
       }
      }
     },
     "auth_ref": [
      "r34"
     ]
    },
    "us-gaap_ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsScheduleOfContractualMaturitiesOfFederalHomeLoanBankAdvancesParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank, Advance, Branch of FHLBank [Table]",
        "documentation": "Disclosure of information about advance from Federal Home Loan Bank (FHLBank)."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r88",
      "r90",
      "r112"
     ]
    },
    "us-gaap_ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFederalHomeLoanBankAdvancesByBranchOfFHLBBankTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Federal Home Loan Bank, Advance, Branch of FHLBank [Table Text Block]",
        "terseLabel": "Schedule of Contractual Maturities of Federal Home Loan Bank Advances",
        "documentation": "Tabular disclosure of advance from Federal Home Loan Bank (FHLBank)."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r88",
      "r90",
      "r112"
     ]
    },
    "us-gaap_ScheduleOfFinancingReceivableTroubledDebtRestructuringsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFinancingReceivableTroubledDebtRestructuringsTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfTroubleDebtRestructuringsTdrsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Modified [Table]",
        "documentation": "Disclosure of information about financing receivable modified for debtor experiencing financial difficulty."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r133",
      "r334",
      "r335",
      "r1038"
     ]
    },
    "us-gaap_ScheduleOfFinancingReceivablesNonAccrualStatusTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFinancingReceivablesNonAccrualStatusTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Nonaccrual [Table Text Block]",
        "terseLabel": "Nonaccrual Loans by Loan Category and Interest Income Recognized",
        "documentation": "Tabular disclosure of financing receivable on nonaccrual status."
       }
      }
     },
     "auth_ref": [
      "r397"
     ]
    },
    "us-gaap_ScheduleOfFinancingReceivablesPastDueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfFinancingReceivablesPastDueTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAgingAnalysisOfLoansByLoanCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Past Due [Table]",
        "documentation": "Disclosure of information about aging analysis for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1058",
      "r1400"
     ]
    },
    "us-gaap_ScheduleOfNetInvestmentHedgesStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfNetInvestmentHedgesStatementsOfFinancialPerformanceAndFinancialPositionLocationTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Net Investment Hedges, Statements of Financial Performance and Financial Position, Location [Table Text Block]",
        "terseLabel": "Schedule of Cumulative Basis Adjustments on Hedged Items Designated as Fair Value Hedges and Related Amortized Cost",
        "documentation": "Tabular disclosure for net investment hedges of (a) the location and amount of gains and losses reported in the statement of financial performance and (b) the location and fair value amounts of the instruments reported in the statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r1472",
      "r1474",
      "r1478"
     ]
    },
    "cofs_ScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ScheduleOfOutstandingBalanceAndRelatedAllowanceOnLoansTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of outstanding balance and related allowance on loans",
        "label": "Schedule Of Outstanding Balance And Related Allowance On Loans Table [Text Block]",
        "documentation": "Schedule of outstanding balance and related allowance on loans."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfRealizedGainLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfRealizedGainLossTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Realized Gain (Loss)",
        "label": "Schedule of Realized Gain (Loss) [Table Text Block]",
        "documentation": "Tabular disclosure of the proceeds from sales of available-for-sale securities and the gross realized gains and gross realized losses that have been included in earnings as a result of those sales."
       }
      }
     },
     "auth_ref": [
      "r1384"
     ]
    },
    "us-gaap_ScheduleOfTradingSecuritiesAndOtherTradingAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfTradingSecuritiesAndOtherTradingAssetsLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt and Equity Securities, FV-NI [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_ScheduleOfTradingSecuritiesAndOtherTradingAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ScheduleOfTradingSecuritiesAndOtherTradingAssetsTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Trading, and Equity Securities, FV-NI [Table]",
        "documentation": "Disclosure of information about investment in debt security measured at fair value with change in fair value recognized in net income (trading) and investment in equity security with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "us-gaap_SecuredOvernightFinancingRateSofrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SecuredOvernightFinancingRateSofrMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "SOFR [Member]",
        "label": "Secured Overnight Financing Rate (SOFR) [Member]",
        "documentation": "Interest rate at which bank can borrow U.S. dollar overnight while posting U.S. Treasury bond as collateral."
       }
      }
     },
     "auth_ref": [
      "r1483"
     ]
    },
    "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]",
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg."
       }
      }
     },
     "auth_ref": [
      "r1123"
     ]
    },
    "cofs_SecuritiesAvailableForSaleMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "SecuritiesAvailableForSaleMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesScheduleOfCumulativeBasisAdjustmentsOnHedgedItemsDesignatedAsFairValueHedgesAndRelatedAmortizedCo"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities Available For Sale [Member]",
        "documentation": "Securities available for sale."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r1160"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r1162"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingCodmIndividualTitleAndPositionOrGroupOrCommitteeNameExtensibleEnumeration": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentReportingCodmIndividualTitleAndPositionOrGroupOrCommitteeNameExtensibleEnumeration",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, CODM, Individual Title and Position or Group Name [Extensible Enumeration]",
        "documentation": "Indicates title and position of individual or name of group identified as chief operating decision maker (CODM) for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r306",
      "r1030",
      "r1037"
     ]
    },
    "us-gaap_SegmentReportingCodmProfitLossMeasureHowUsedDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentReportingCodmProfitLossMeasureHowUsedDescription",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReportingAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting, CODM, Profit (Loss) Measure, How Used, Description",
        "documentation": "Description of how chief operating decision maker (CODM) uses reported segment profit (loss) measure to assess performance and allocate resource."
       }
      }
     },
     "auth_ref": [
      "r315",
      "r1027",
      "r1034"
     ]
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSegmentReporting"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Reporting",
        "label": "Segment Reporting Disclosure [Text Block]",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r295",
      "r302",
      "r303",
      "r304",
      "r305",
      "r307",
      "r312",
      "r313",
      "r314",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r326",
      "r1026",
      "r1028",
      "r1029",
      "r1031",
      "r1033",
      "r1035",
      "r1036"
     ]
    },
    "us-gaap_ServicingAssetAtFairValueAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ServicingAssetAtFairValueAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsAssetsMeasuredAtFairValueOnANonrecurringBasisDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Servicing Asset at Fair Value, Amount, Ending Balance",
        "periodStartLabel": "Servicing Asset at Fair Value, Amount, Beginning Balance",
        "label": "Mortgage loan servicing rights",
        "documentation": "Fair value of an asset representing net future revenue from contractually specified servicing fees, late charges, and other ancillary revenues, in excess of future costs related to servicing arrangements."
       }
      }
     },
     "auth_ref": [
      "r735",
      "r736",
      "r766",
      "r768",
      "r769",
      "r815",
      "r816",
      "r817",
      "r818"
     ]
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 35.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Share-Based Payment Arrangement, Noncash Expense, Total",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "terseLabel": "Compensation expense on employee stock purchase plan, stock options, and restricted stock units",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r533",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542"
     ]
    },
    "cofs_SignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "SignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies [Line Items]",
        "documentation": "Significant accounting policies."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_SignificantAccountingPoliciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "SignificantAccountingPoliciesTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies [Table]",
        "documentation": "Significant accounting policies."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of Significant Accounting Policies",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r244"
     ]
    },
    "us-gaap_SpecialMentionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SpecialMentionMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Special Mention [Member]",
        "documentation": "A category of financing receivables considered to have potential weaknesses that deserve management's close attention. If left uncorrected, those potential weaknesses may result in a deterioration of the repayment prospects for the asset or of the creditor's position at some future date."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1402",
      "r1403"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r57",
      "r61",
      "r62",
      "r186",
      "r193",
      "r194",
      "r218",
      "r219",
      "r220",
      "r254",
      "r255",
      "r256",
      "r259",
      "r267",
      "r269",
      "r271",
      "r296",
      "r378",
      "r382",
      "r441",
      "r479",
      "r491",
      "r546",
      "r555",
      "r556",
      "r564",
      "r565",
      "r566",
      "r569",
      "r639",
      "r640",
      "r710",
      "r712",
      "r713",
      "r714",
      "r715",
      "r717",
      "r718",
      "r719",
      "r720",
      "r721",
      "r731",
      "r777",
      "r779",
      "r780",
      "r781",
      "r782",
      "r783",
      "r787",
      "r789",
      "r796",
      "r870",
      "r892",
      "r893",
      "r894",
      "r910",
      "r968"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r254",
      "r255",
      "r256",
      "r296",
      "r481",
      "r482",
      "r484",
      "r486",
      "r789",
      "r837",
      "r906",
      "r911",
      "r912",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r930",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r939",
      "r940",
      "r941",
      "r942",
      "r944",
      "r945",
      "r946",
      "r947",
      "r948",
      "r951",
      "r952",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r968",
      "r1014",
      "r1016",
      "r1151",
      "r1564"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Comprehensive Income [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StatementTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited-parentheticals"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Presentation of information about comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r254",
      "r255",
      "r256",
      "r296",
      "r330",
      "r481",
      "r482",
      "r484",
      "r486",
      "r789",
      "r837",
      "r906",
      "r911",
      "r912",
      "r923",
      "r924",
      "r925",
      "r926",
      "r927",
      "r928",
      "r930",
      "r933",
      "r934",
      "r935",
      "r936",
      "r937",
      "r939",
      "r940",
      "r941",
      "r942",
      "r944",
      "r945",
      "r946",
      "r947",
      "r948",
      "r951",
      "r952",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r968",
      "r1014",
      "r1016",
      "r1151",
      "r1564"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r1169",
      "r1179",
      "r1189",
      "r1221"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": [
      "r1427",
      "r1428",
      "r1429",
      "r1430",
      "r1431",
      "r1432",
      "r1433",
      "r1434",
      "r1435",
      "r1436",
      "r1437",
      "r1438",
      "r1439",
      "r1440",
      "r1441",
      "r1442",
      "r1443",
      "r1444",
      "r1445",
      "r1446",
      "r1447",
      "r1448",
      "r1449",
      "r1450",
      "r1451",
      "r1452"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesAcquisitions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodSharesAcquisitions",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Merger with Fentura Financial, Inc., net of issuance costs (in shares)",
        "label": "Stock Issued During Period, Shares, Acquisitions",
        "documentation": "Number of shares of stock issued during the period pursuant to acquisitions."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r57",
      "r81"
     ]
    },
    "cofs_StockIssuedDuringPeriodSharesCommonStockOffering": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "StockIssuedDuringPeriodSharesCommonStockOffering",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock offering (in shares)",
        "label": "Stock Issued During Period Shares Common Stock Offering",
        "documentation": "Stock issued during period shares common stock offering."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockOwnershipPlan",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Shares, Employee Stock Ownership Plan",
        "negatedLabel": "Repurchase of shares from Fentura Financial, Inc. ESOP (in shares)",
        "documentation": "Number of shares of capital stock issued (purchased by employees) in connection with an employee stock ownership plan."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r56",
      "r57",
      "r81",
      "r548"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares issued (in shares)",
        "terseLabel": "Shares issued for directors and employee stock plans (in shares)",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r56",
      "r57",
      "r81",
      "r907",
      "r968",
      "r988"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units issued (in shares)",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r81"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "verboseLabel": "Stock options exercised and issued (1)",
        "terseLabel": "Stock options exercised and issued (in shares)",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r56",
      "r57",
      "r81",
      "r525"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueAcquisitions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodValueAcquisitions",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Acquisitions",
        "terseLabel": "Merger with Fentura Financial, Inc., net of issuance costs",
        "documentation": "Value of stock issued pursuant to acquisitions during the period."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r57",
      "r61",
      "r62",
      "r81"
     ]
    },
    "cofs_StockIssuedDuringPeriodValueCommonStockOffering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "StockIssuedDuringPeriodValueCommonStockOffering",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period Value Common Stock Offering",
        "documentation": "Stock issued during period value common stock offering.",
        "terseLabel": "Common stock offering"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodValueEmployeeStockOwnershipPlan",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Employee Stock Ownership Plan",
        "negatedLabel": "Repurchase of shares from Fentura Financial, Inc. ESOP",
        "documentation": "Aggregate value of stock issued during the period as a result of employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r56",
      "r57",
      "r81",
      "r548"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueNewIssues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockIssuedDuringPeriodValueNewIssues",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares issued",
        "terseLabel": "Shares issued for directors and employee stock plans",
        "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r56",
      "r57",
      "r81",
      "r910",
      "r968",
      "r988",
      "r1158"
     ]
    },
    "srt_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/srt/2025",
     "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Repurchase Program, Authorized, Number of Shares",
        "terseLabel": "Stock repurchase program, number of shares authorized to be repurchased (in shares)",
        "documentation": "Number of shares authorized to be purchased under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": [
      "r1423"
     ]
    },
    "cofs_StockRepurchaseProgramPercentOfStockOutstanding": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "StockRepurchaseProgramPercentOfStockOutstanding",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percent of stock outstanding to be purchased in stock repurchase program.",
        "label": "cofs_StockRepurchaseProgramPercentOfStockOutstanding",
        "terseLabel": "Stock Repurchase Program, Percent of Stock Outstanding",
        "verboseLabel": "Stock repurchase program, percent of stock outstanding"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Repurchase Program, Remaining Authorized, Number of Shares",
        "terseLabel": "Shares remaining to purchase under repurchase plan",
        "documentation": "Number of shares remaining authorized to be purchased under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Shares",
        "negatedLabel": "Shares repurchased (in shares)",
        "terseLabel": "Shares repurchased (in shares)",
        "verboseLabel": "Shares repurchased",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r56",
      "r57",
      "r81",
      "r908",
      "r968",
      "r989"
     ]
    },
    "us-gaap_StockRepurchasedDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockRepurchasedDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Value",
        "negatedLabel": "Shares repurchased",
        "terseLabel": "Shares repurchased, cost",
        "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r56",
      "r57",
      "r81",
      "r910",
      "r968",
      "r989",
      "r1158"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited",
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-changes-in-shareholders-equity-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Parent",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total shareholders\u2019 equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r61",
      "r62",
      "r78",
      "r932",
      "r949",
      "r969",
      "r970",
      "r1137",
      "r1159",
      "r1333",
      "r1336",
      "r1337",
      "r1389",
      "r1506",
      "r1567"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity, Attributable to Parent [Abstract]",
        "terseLabel": "Shareholders' Equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "StockholdersEquityPolicyTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity, Policy [Policy Text Block]",
        "terseLabel": "Stock Transactions",
        "documentation": "Disclosure of accounting policy for its capital stock transactions, including dividends and accumulated other comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r971"
     ]
    },
    "us-gaap_SubordinatedBorrowingLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubordinatedBorrowingLineItems",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subordinated Borrowing [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubordinatedBorrowingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubordinatedBorrowingTable",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subordinated Borrowing [Table]",
        "documentation": "Disclosure of information about borrowing under subordinated debt agreement that qualifies as available in computing net capital under U.S. Securities and Exchange Commission's (SEC) uniform net capital rule. Includes, but is not limited to, restrictive covenant, collateral, interest rate, due date, and amount due by date and owed in total."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "us-gaap_SubordinatedBorrowingsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubordinatedBorrowingsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subordinated Borrowings [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubordinatedBorrowingsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubordinatedBorrowingsDisclosureTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebentures"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subordinated Debentures",
        "label": "Subordinated Borrowings Disclosure [Text Block]",
        "documentation": "The entire disclosure for borrowings under subordinated debt agreements that qualify as available in computing net capital under SEC's uniform net capital rule, including restrictive covenants, collateral, interest rates and due dates, amounts due by date and amount owed in total."
       }
      }
     },
     "auth_ref": [
      "r112"
     ]
    },
    "us-gaap_SubordinatedDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubordinatedDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subordinated debentures",
        "periodEndLabel": "Subordinated Debt, Ending Balance",
        "periodStartLabel": "Subordinated Debt, Beginning Balance",
        "totalLabel": "Subordinated Debt, Total",
        "label": "Subordinated Debt",
        "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of subordinated debt (with initial maturities beyond one year or beyond the operating cycle if longer). Subordinated debt places a lender in a lien position behind debt having a higher priority of repayment in liquidation of the entity's assets."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r47",
      "r90",
      "r1527"
     ]
    },
    "us-gaap_SubordinatedDebtMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubordinatedDebtMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subordinated Debt [Member]",
        "documentation": "This element represents domestic or foreign subordinated debt. Subordinated debt has a lower priority of repayment in liquidation of the entity's assets."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_SubordinatedNotesDue2031Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "SubordinatedNotesDue2031Member",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Related to debt.",
        "label": "Subordinated Notes Due 2031 [Member]",
        "terseLabel": "Subordinated Notes Due 2031 [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r784",
      "r797"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r784",
      "r797"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Domain]",
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r784",
      "r797"
     ]
    },
    "us-gaap_SubstandardMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SubstandardMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Substandard [Member]",
        "documentation": "A category of financing receivables that are inadequately protected by the current sound worth and paying capacity of the obligor or of the collateral pledged, if any. Loans so classified have a well-defined weakness or weaknesses that jeopardize the liquidation of the debt. They are characterized by the distinct possibility that the creditor will sustain some loss if the deficiencies are not corrected."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1402",
      "r1403"
     ]
    },
    "cofs_SummaryOfAmortizedCostBasisOfLoansTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "SummaryOfAmortizedCostBasisOfLoansTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Amortized Cost Basis of Loans",
        "label": "Summary of Amortized Cost Basis of Loans [Table Text Block]",
        "documentation": "Summary of Amortized Cost Basis of Loans."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowElementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SupplementalCashFlowElementsAbstract",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Elements [Abstract]",
        "terseLabel": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SuppliesAndPostageExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "SuppliesAndPostageExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Supplies and Postage Expense, Total",
        "label": "Supplies and postage",
        "documentation": "The aggregate amount of expenses directly related to the supplies and postage."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r1215"
     ]
    },
    "cofs_The34015PercentPayFixedSwapAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "The34015PercentPayFixedSwapAgreementMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The 3.4015 percent pay fixed swap agreement.",
        "label": "The 3.4015 Percent Pay Fixed Swap Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_ThreeSofrCapAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "ThreeSofrCapAgreementMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Three SOFR Cap Agreement.",
        "label": "Three SOFR Cap Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TimeDeposits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TimeDeposits",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited": {
       "parentTag": "us-gaap_Deposits",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Time Deposits",
        "totalLabel": "Time Deposits, Total",
        "terseLabel": "Certificates of deposit (Note 9)",
        "documentation": "Amount of time deposit liabilities, including certificates of deposit."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r86"
     ]
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r1207"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r1214"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r1234"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r1236"
     ]
    },
    "us-gaap_TradingSecuritiesAndCertainTradingAssetsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TradingSecuritiesAndCertainTradingAssetsTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Trading, and Equity Securities, FV-NI [Table Text Block]",
        "terseLabel": "Schedule of Gross Unrealized Gains (Losses)",
        "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in net income (trading) and investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r758"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransferToOtherRealEstate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TransferToOtherRealEstate",
     "crdr": "debit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Real Estate Owned, Transfer to Real Estate Owned",
        "terseLabel": "Loans transferred to other real estate",
        "documentation": "Value transferred from mortgage loans to real estate owned (REO) in noncash transactions."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r30",
      "r31"
     ]
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBorrowingsAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureBusinessCombinationSummaryOfAllocationOfPurchasePriceDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments [Domain]",
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms."
       }
      }
     },
     "auth_ref": [
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r361",
      "r362",
      "r363",
      "r364",
      "r365",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r475",
      "r489",
      "r705",
      "r722",
      "r758",
      "r772",
      "r775",
      "r798",
      "r799",
      "r800",
      "r801",
      "r802",
      "r803",
      "r804",
      "r805",
      "r806",
      "r807",
      "r808",
      "r809",
      "r810",
      "r811",
      "r812",
      "r818",
      "r819",
      "r820",
      "r821",
      "r822",
      "r823",
      "r824",
      "r825",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r831",
      "r832",
      "r858",
      "r871",
      "r1124",
      "r1126",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132",
      "r1133",
      "r1134",
      "r1138",
      "r1250",
      "r1251",
      "r1252",
      "r1253",
      "r1254",
      "r1255",
      "r1256",
      "r1384",
      "r1385",
      "r1386",
      "r1387",
      "r1485",
      "r1488",
      "r1489",
      "r1490",
      "r1497",
      "r1500",
      "r1501",
      "r1502"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r1237"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r1238"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Expiration Date",
        "terseLabel": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r1238"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r1236"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r1236"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r1239"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r1237"
     ]
    },
    "us-gaap_TroubledDebtRestructuringsOnFinancingReceivablesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TroubledDebtRestructuringsOnFinancingReceivablesTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Trouble Debt Restructurings (TDRs)",
        "label": "Financing Receivable, Modified [Table Text Block]",
        "documentation": "Tabular disclosure of financing receivable modified for debtor experiencing financial difficulty."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r133",
      "r1038",
      "r1358",
      "r1359"
     ]
    },
    "cofs_TroubledLoanModificationOnFinancingReceivablesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "TroubledLoanModificationOnFinancingReceivablesTableTextBlock",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Troubled Loan Modification (TLMs)",
        "label": "Troubled Loan Modification On Financing Receivables [Table Text Block]",
        "documentation": "Troubled loan modification on financing receivables."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_TroubledLoanModificationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "TroubledLoanModificationsMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesSummaryOfAmortizedCostBasisLoansModifiedToBorrowersExperiencingOnFinancingReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Troubled Loan Modification [Member]",
        "label": "Troubled Loan Modifications [Member]",
        "documentation": "Troubled Loan Modifications.",
        "verboseLabel": "Troubled Loan Modifications [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_TrustFeeIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "TrustFeeIncomeMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureRevenueFromContractsWithCustomersScheduleOfNoninterestIncomeSeparatedByRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trust fee income",
        "documentation": "Represents information related to trust fee income.",
        "label": "Trust Fee Income [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_TrustIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "TrustIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/StatementConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of trust income.",
        "label": "Trust income"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_TrustPreferredSecuritiesAfterMergerFairValueAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "TrustPreferredSecuritiesAfterMergerFairValueAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trust preferred securities after merger fair value adjustments",
        "label": "Trust Preferred Securities After Merger Fair Value Adjustments",
        "documentation": "Trust preferred securities after merger fair value adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_TrustPreferredSecuritiesBeforeMergerFairValueAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "TrustPreferredSecuritiesBeforeMergerFairValueAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trust Preferred Securities Before Merger Fair Value Adjustments",
        "documentation": "Trust preferred securities before merger fair value adjustments.",
        "terseLabel": "Trust preferred securities before merger fair value adjustments"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_TrustPreferredSecuritiesFairValueAdjustmentValueAmortizationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "TrustPreferredSecuritiesFairValueAdjustmentValueAmortizationPeriod",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trust preferred Securities Fair Value Adjustment Value Amortization Period",
        "documentation": "Trust preferred securities fair value adjustment value amortization period.",
        "terseLabel": "Trust preferred securities fair value adjustment value amortization period"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_TrustPreferredSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "TrustPreferredSecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information related to trust preferred securities.",
        "label": "Trust Preferred Securities [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfAdoptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "TypeOfAdoptionMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Standards Update [Domain]",
        "documentation": "Amendment to accounting standards."
       }
      }
     },
     "auth_ref": [
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r194",
      "r230",
      "r231",
      "r232",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r273",
      "r327",
      "r328",
      "r378",
      "r380",
      "r381",
      "r382",
      "r440",
      "r441",
      "r444",
      "r477",
      "r478",
      "r479",
      "r480",
      "r544",
      "r545",
      "r546",
      "r547",
      "r555",
      "r556",
      "r557",
      "r558",
      "r559",
      "r561",
      "r562",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r569",
      "r613",
      "r614",
      "r615",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r714",
      "r715",
      "r716",
      "r717",
      "r723",
      "r724",
      "r725",
      "r726",
      "r727",
      "r728",
      "r729",
      "r730",
      "r731",
      "r732",
      "r733",
      "r761",
      "r762",
      "r787",
      "r788",
      "r791",
      "r792",
      "r793",
      "r794",
      "r795",
      "r796",
      "r890",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r899",
      "r900",
      "r901"
     ]
    },
    "us-gaap_USGovernmentCorporationsAndAgenciesSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "USGovernmentCorporationsAndAgenciesSecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US Government Corporations and Agencies Securities [Member]",
        "terseLabel": "U. S. Government and Federal Agency [Member]",
        "documentation": "This category includes information about debt issued by US Government Corporations and Agencies. Investments in such US Government Corporations may include debt securities issued by the Government National Mortgage Association (Ginnie Mae) and by the Federal National Mortgage Association (Fannie Mae) and the Federal Home Loan Mortgage Corporation (Freddie Mac)."
       }
      }
     },
     "auth_ref": [
      "r1520"
     ]
    },
    "us-gaap_USStatesAndPoliticalSubdivisionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "USStatesAndPoliticalSubdivisionsMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "State and Municipal [Member]",
        "label": "US States and Political Subdivisions Debt Securities [Member]",
        "documentation": "Bonds or similar securities issued by state, city, or local US governments or the agencies operated by state, city, or local governments. Debt securities issued by state governments may include bond issuances of US state authorities including, for example, but not limited to, housing authorities, dormitory authorities, and general obligations while debt securities issued by political subdivisions of US states would include, for example, debt issuances by county, borough, city, or municipal governments."
       }
      }
     },
     "auth_ref": [
      "r1076",
      "r1078",
      "r1138",
      "r1147",
      "r1559"
     ]
    },
    "us-gaap_USTreasuryAndGovernmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "USTreasuryAndGovernmentMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfSecuritiesAvailableForSaleAndTheRelatedUnrealizedGainsAndLossesRecognizedInAccumulatedComprehensiveIncomeD",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Government and Federal Agency [Member]",
        "label": "US Treasury and Government [Member]",
        "documentation": "This category includes investments in debt securities issued by the United States Department of the Treasury, US Government Agencies and US Government-sponsored Enterprises. Such securities may include treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years), debt securities issued by the Government National Mortgage Association (Ginnie Mae) and debt securities issued by the Federal National Mortgage Association (Fannie Mae) or the Federal Home Loan Mortgage Corporation (Freddie Mac)."
       }
      }
     },
     "auth_ref": [
      "r854",
      "r1076",
      "r1078",
      "r1138",
      "r1147",
      "r1559"
     ]
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "USTreasurySecuritiesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureFairValueMeasurementsScheduleOfAssetsAndLiabilitiesMeasuredAtFairValueDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesFairValueOfDebtSecurityAvailableforsaleAndHeldtomaturityDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesScheduleOfMaturitiesOfSecuritiesDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesSecuritiesWithUnrealizedLossesAggregatedByInvestmentCategoryAndTimeWithUnrealizedLossPositionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "U.S. Treasury Notes and Bonds [Member]",
        "label": "US Treasury Securities [Member]",
        "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years)."
       }
      }
     },
     "auth_ref": [
      "r1020",
      "r1021",
      "r1076",
      "r1078",
      "r1080",
      "r1124",
      "r1520"
     ]
    },
    "us-gaap_UnallocatedFinancingReceivablesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "UnallocatedFinancingReceivablesMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesAllowanceForCreditLossesAndBalancesInLoanPortfolioDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unallocated Financing Receivables [Member]",
        "documentation": "Financing receivables that have not been allocated to a portfolio segment."
       }
      }
     },
     "auth_ref": [
      "r1392",
      "r1394",
      "r1395",
      "r1396",
      "r1397",
      "r1398",
      "r1399"
     ]
    },
    "us-gaap_UnderlyingAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "UnderlyingAssetClassAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Asset Class [Axis]",
        "documentation": "Information by underlying asset class."
       }
      }
     },
     "auth_ref": [
      "r1116"
     ]
    },
    "us-gaap_UnderlyingAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "UnderlyingAssetClassDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Asset Class [Domain]",
        "documentation": "Major types of referenced/underlying asset classes (for example, corporate debt, sovereign debt, and structured finance)."
       }
      }
     },
     "auth_ref": [
      "r1116"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r1233"
     ]
    },
    "us-gaap_UnlikelyToBeCollectedFinancingReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "UnlikelyToBeCollectedFinancingReceivableMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unlikely to be Collected Financing Receivable [Member]",
        "terseLabel": "Loss [Member]",
        "documentation": "Financing arrangement that represents a contractual right to receive money either on demand or on fixed or determinable dates that are considered uncollectible or of little value. Excludes no recovery or salvage value."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r130",
      "r131",
      "r1402",
      "r1403"
     ]
    },
    "cofs_UnratedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "UnratedMember",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSecuritiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrated [Member]",
        "documentation": "Unrated."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrealizedGainLossOnDerivatives": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "UnrealizedGainLossOnDerivatives",
     "crdr": "credit",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gain on transaction",
        "label": "Unrealized Gain (Loss) on Derivatives",
        "documentation": "The net change in the difference between the fair value and the carrying value, or in the comparative fair values, of derivative instruments, including options, swaps, futures, and forward contracts, held at each balance sheet date, that was included in earnings for the period."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r962",
      "r963",
      "r964",
      "r965",
      "r982"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Use of Estimates",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r154",
      "r297",
      "r299",
      "r300",
      "r301",
      "r850",
      "r852",
      "r1023"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": [
      "r1265",
      "r1417",
      "r1483"
     ]
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureDerivativeAndHedgingActivitiesAdditionalInformationDetails",
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureSubordinatedDebenturesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": [
      "r1265",
      "r1417",
      "r1483"
     ]
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]",
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r1203"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average common shares outstanding and potentially dilutive shares",
        "terseLabel": "Weighted average common shares outstanding and potentially dilutive shares (in shares)",
        "totalLabel": "Weighted average common shares outstanding and potentially dilutive shares (in shares)",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r277",
      "r290"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2025",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureEarningsPerShareScheduleOfBasicEarningsPerShareAndDilutedEarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average common shares outstanding",
        "terseLabel": "Weighted average common shares outstanding (in shares)",
        "verboseLabel": "Weighted average common shares outstanding (in shares)",
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r290"
     ]
    },
    "cofs_WriteDownsOfOREO": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "WriteDownsOfOREO",
     "crdr": "credit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/statement-consolidated-statements-of-cash-flows-unaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Write Downs of O R E O",
        "documentation": "Write Downs of OREO.",
        "terseLabel": "Write downs of OREO",
        "negatedLabel": "Write downs of OREO"
       }
      }
     },
     "auth_ref": []
    },
    "cofs_WriteoffOfNotesReceivableGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "WriteoffOfNotesReceivableGross",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Current year-to-date gross write-offs, Grand Total",
        "terseLabel": "Current year-to-date gross write-offs, Grand Total",
        "label": "Writeoff of Notes Receivable Gross",
        "documentation": "Writeoff of notes receivable gross."
       }
      }
     },
     "auth_ref": []
    },
    "cofs_WriyeoffOfFinancingReceivableRevolving": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "WriyeoffOfFinancingReceivableRevolving",
     "crdr": "debit",
     "calculation": {
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails2": {
       "parentTag": "cofs_WriteoffOfNotesReceivableGross",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://www.choiceone.bank/20260331/taxonomy/role/DisclosureLoansAndAllowanceForCreditLossesScheduleOfInformationRegardingCreditExposureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Current year-to-date gross write-offs, Term Loans Total",
        "terseLabel": "Current year-to-date gross write-offs, Term Loans Total",
        "label": "Wriyeoff of Financing Receivable Revolving",
        "documentation": "Wriyeoff of financing receivable revolving."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2025",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]",
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r1201"
     ]
    },
    "cofs_statement-statement-note-4-earnings-per-share-computation-of-basic-earnings-per-share-and-diluted-earnings-per-share-details": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.choiceone.bank/20260331",
     "localname": "statement-statement-note-4-earnings-per-share-computation-of-basic-earnings-per-share-and-diluted-earnings-per-share-details",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Statement-Statement-Note-4-Earnings-Per-Share-Computation-Of-Basic-Earnings-Per-Share-And-Diluted-Earnings-Per-Share-Details",
        "label": "Note 4 - Earnings Per Share - Computation of Basic Earnings Per Share and Diluted Earnings Per Share (Details)"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "33",
   "SubTopic": "10",
   "Topic": "323",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481725/323-10-35-33"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-15"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21C",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-21C"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(g)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "470",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "405",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478353/942-405-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482739/220-10-55-15"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-8"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-5"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "320",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/320/tableOfContent"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "470",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-5"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477263/942-210-45-4"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "320",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-5"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r66": {
   "role": "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(1)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r67": {
   "role": "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(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r68": {
   "role": "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"
  },
  "r69": {
   "role": "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r70": {
   "role": "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(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r77": {
   "role": "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"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13)(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r93": {
   "role": "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r94": {
   "role": "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(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r95": {
   "role": "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(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r96": {
   "role": "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(13)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r97": {
   "role": "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(13)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r98": {
   "role": "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(13)(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r99": {
   "role": "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(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r100": {
   "role": "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(14)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r101": {
   "role": "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(14)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r102": {
   "role": "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(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r103": {
   "role": "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(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r104": {
   "role": "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(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r105": {
   "role": "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"
  },
  "r106": {
   "role": "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(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r107": {
   "role": "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r108": {
   "role": "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(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r109": {
   "role": "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(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479024/942-230-45-1"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/942-320/tableOfContent"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "470",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478878/942-470-45-1"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(c)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-14A"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-17"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-29"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-29"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-29"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-33"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-34"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-7"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-7"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-7"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-7A"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481696/310-30-50-2"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481696/310-30-50-2"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481696/310-30-50-2"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "40",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481774/310-40-40-7A"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-6"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-6"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-6"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-7"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-8B"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481161/840-30-50-1"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "321",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479567/321-10-45-1"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(1)(Instruction 4)",
   "Publisher": "SEC"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1403",
   "Paragraph": "b",
   "Publisher": "SEC"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1404",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1404",
   "Paragraph": "b",
   "Publisher": "SEC"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "a",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "a",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "a",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "a",
   "Subparagraph": "(4)",
   "Publisher": "SEC"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "c",
   "Publisher": "SEC"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(a)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(b)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column A",
   "Publisher": "SEC"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Paragraph": "Column A",
   "Footnote": "3",
   "Publisher": "SEC"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "L",
   "Publisher": "SEC"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 4",
   "Publisher": "SEC"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-7"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-9"
  },
  "r194": {
   "role": "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"
  },
  "r195": {
   "role": "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"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-15"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-17A"
  },
  "r213": {
   "role": "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"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r216": {
   "role": "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"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r220": {
   "role": "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"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 6.B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-5"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476151/220-40-65-1"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476151/220-40-65-1"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476151/220-40-65-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-11"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-17"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-19"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r245": {
   "role": "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"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r247": {
   "role": "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"
  },
  "r248": {
   "role": "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"
  },
  "r249": {
   "role": "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"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r258": {
   "role": "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"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r263": {
   "role": "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"
  },
  "r264": {
   "role": "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"
  },
  "r265": {
   "role": "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"
  },
  "r266": {
   "role": "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"
  },
  "r267": {
   "role": "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"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r270": {
   "role": "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"
  },
  "r271": {
   "role": "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"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-3"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-11"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "40",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-40"
  },
  "r286": {
   "role": "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"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-6"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310-10/tableOfContent"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11C"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11C"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-42"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-42"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-42"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "44",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-44"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "44",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-44"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310-20/tableOfContent"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/320/tableOfContent"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-1"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-11"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-10"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-4"
  },
  "r377": {
   "role": "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"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479391/326-20-30-4A"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479391/326-20-30-5A"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479366/326-20-35-8A"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-5"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-17"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-21"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-3B"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-3C"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-3D"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-6"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-6A"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.M.2.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483530/326-20-S99-1"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479175/326-30-30-1B"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "13A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479148/326-30-35-13A"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479148/326-30-35-7A"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479130/326-30-45-1"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3A"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3C"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-3D"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-5"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-7"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-9"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-4"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-5"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477123/405-50-65-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r450": {
   "role": "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"
  },
  "r451": {
   "role": "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"
  },
  "r452": {
   "role": "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"
  },
  "r453": {
   "role": "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"
  },
  "r454": {
   "role": "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"
  },
  "r455": {
   "role": "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"
  },
  "r456": {
   "role": "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"
  },
  "r457": {
   "role": "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"
  },
  "r458": {
   "role": "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"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-6"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481538/470-20-65-4"
  },
  "r480": {
   "role": "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"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479887/480-10-S45-2"
  },
  "r483": {
   "role": "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"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479857/480-10-S50-1"
  },
  "r485": {
   "role": "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"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(01)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r488": {
   "role": "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"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-7"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "17",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480336/718-10-65-17"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "17",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480336/718-10-65-17"
  },
  "r546": {
   "role": "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"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "17",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480336/718-10-65-17"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480520/718-40-45-2"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481117/718-50-35-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-9"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r568": {
   "role": "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"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805-10/tableOfContent"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-4"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-5"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-7"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805-20/tableOfContent"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-3"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479845/805-20-65-3"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805-30/tableOfContent"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-3"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479326/805-40-45-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r640": {
   "role": "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"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/815/tableOfContent"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-2"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CC",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CCC",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CCC"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4E"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EE",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EE"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EE",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EE"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EE",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EE"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EE",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EE"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EEE",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EEE"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EEE",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EEE"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4EEE",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4EEE"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4F"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4F",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4F"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4H"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4H"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4I"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4K",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4K"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5C"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8A"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "15",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480960/815-15-50-3"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480627/815-20-45-3"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r733": {
   "role": "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"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2G",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2G"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2G",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2G"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482477/820-10-65-13"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482477/820-10-65-13"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/825/tableOfContent"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482736/825-10-45-1A"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482736/825-10-45-2"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-12"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r773": {
   "role": "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"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-30"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-32"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482804/825-20-50-1"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-1"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481444/860-30-45-1"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481260/860-50-45-1"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481260/860-50-45-2"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481260/860-50-45-2"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-4"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "940",
   "SubTopic": "820",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(14)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479024/942-230-45-1"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478671/942-235-S50-1"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-2"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "325",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477974/942-325-45-1"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "470",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477734/942-470-50-3"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478898/942-825-50-1"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r869": {
   "role": "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"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r873": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r874": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r875": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(d)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(d)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r878": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r880": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r881": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r885": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r886": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r888": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r889": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r891": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r892": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r893": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r894": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r895": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r896": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r897": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r898": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r900": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r902": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r903": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "805",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478072/944-805-50-1"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r908": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r909": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11"
  },
  "r910": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r911": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-6"
  },
  "r912": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r913": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r914": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r915": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r916": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r917": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-12"
  },
  "r918": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r920": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r921": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r925": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r926": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r927": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r937": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r942": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r946": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r947": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r948": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r949": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r950": {
   "role": "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"
  },
  "r951": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r953": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r954": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r955": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r956": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r957": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r958": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r959": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r960": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r961": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r962": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r963": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r964": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r965": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r966": {
   "role": "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"
  },
  "r967": {
   "role": "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"
  },
  "r968": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r969": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r970": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r971": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r972": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r973": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r974": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r975": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r976": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r977": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r978": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r979": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5"
  },
  "r980": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5A",
   "Subparagraph": "(SX 210.12-13A(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A"
  },
  "r981": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5A",
   "Subparagraph": "(SX 210.12-13A(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A"
  },
  "r982": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5A",
   "Subparagraph": "(SX 210.12-13A(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A"
  },
  "r983": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r984": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B"
  },
  "r985": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r986": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r987": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r988": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r989": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r990": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477011/948-310-45-1"
  },
  "r991": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478322/948-310-S50-2"
  },
  "r992": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r993": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r994": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r995": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r996": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r997": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r998": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r999": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(1)",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-10"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r1003": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-15"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-16"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-20"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-21"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-22"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-12"
  },
  "r1011": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-11"
  },
  "r1012": {
   "role": "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"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-18"
  },
  "r1014": {
   "role": "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"
  },
  "r1015": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476153/220-40-55-24"
  },
  "r1016": {
   "role": "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"
  },
  "r1017": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-21"
  },
  "r1018": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r1019": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "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"
  },
  "r1021": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1022": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482836/275-10-55-6"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r1031": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r1032": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r1037": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r1038": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "4",
   "Subparagraph": "(SAB Topic 6.L.5.a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-4"
  },
  "r1040": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-10"
  },
  "r1041": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1042": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1043": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1044": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1045": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1046": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1047": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1048": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1049": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1050": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1051": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1052": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1053": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(d)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1054": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1055": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-12"
  },
  "r1056": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-15"
  },
  "r1057": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "79",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-79"
  },
  "r1058": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "80",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-80"
  },
  "r1059": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479081/326-30-55-8"
  },
  "r1060": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24"
  },
  "r1061": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r1062": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r1063": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r1064": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r1065": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "64",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481620/480-10-55-64"
  },
  "r1067": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r1068": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r1069": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1071": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r1078": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r1079": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r1080": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6"
  },
  "r1083": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r1085": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-8"
  },
  "r1086": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-29"
  },
  "r1087": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-29"
  },
  "r1088": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-38"
  },
  "r1089": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "39",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-39"
  },
  "r1090": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-41"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-42"
  },
  "r1092": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "43",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-43"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "45",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-45"
  },
  "r1094": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "46",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-46"
  },
  "r1095": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-47"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-49"
  },
  "r1097": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-50"
  },
  "r1098": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r1099": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2"
  },
  "r1100": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "805",
   "SubTopic": "740",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478064/805-740-55-13"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r1104": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r1105": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r1106": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r1107": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r1108": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r1109": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r1110": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r1111": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r1112": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r1113": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r1114": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r1115": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CC",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC"
  },
  "r1116": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4L",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4L"
  },
  "r1117": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "181",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-181"
  },
  "r1118": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "181",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-181"
  },
  "r1119": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-182"
  },
  "r1120": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "183",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-183"
  },
  "r1121": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "184",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-184"
  },
  "r1122": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "185",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480401/815-10-55-185"
  },
  "r1123": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480682/815-20-25-6A"
  },
  "r1124": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r1125": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r1126": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "101",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101"
  },
  "r1127": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "102",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102"
  },
  "r1128": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r1129": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1130": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1131": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1132": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1133": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1134": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r1135": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482881/825-10-55-12"
  },
  "r1136": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r1137": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10"
  },
  "r1138": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4"
  },
  "r1139": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "942",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479255/942-310-S50-4"
  },
  "r1140": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "942",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.H.2.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478116/942-310-S99-2"
  },
  "r1141": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r1142": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r1143": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r1144": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r1145": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "605",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-11"
  },
  "r1146": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "605",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477548/944-605-55-14"
  },
  "r1147": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-17"
  },
  "r1148": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r1149": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r1150": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r1151": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r1152": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r1153": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C"
  },
  "r1154": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7"
  },
  "r1155": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7"
  },
  "r1156": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7"
  },
  "r1157": {
   "role": "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"
  },
  "r1158": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11"
  },
  "r1159": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r1160": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r1161": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1162": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r1163": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r1164": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r1165": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r1166": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1167": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r1168": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r1169": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r1170": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r1171": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r1172": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1173": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1174": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r1175": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r1176": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1177": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1178": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1179": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1180": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1181": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1182": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1183": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1184": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r1185": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r1186": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r1187": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r1188": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r1189": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r1190": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r1191": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r1192": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r1193": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r1194": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r1195": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r1196": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r1197": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r1198": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r1199": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r1200": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r1201": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r1202": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r1203": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r1204": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r1205": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r1206": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r1207": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r1208": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r1209": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r1210": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r1211": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r1212": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r1213": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r1214": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r1215": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r1216": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r1217": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r1218": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r1219": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r1220": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r1221": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r1222": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r1223": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r1224": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r1225": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r1226": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r1227": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r1228": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r1229": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r1230": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r1231": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r1232": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r1233": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r1234": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r1235": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r1236": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r1237": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r1238": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r1239": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r1240": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r1241": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r1242": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r1243": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r1244": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r1245": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r1246": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1247": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1248": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1249": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "SubTopic": "310",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1250": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r1251": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r1252": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r1253": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r1254": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r1255": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r1256": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r1257": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1404",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r1258": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "a",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r1259": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "a",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r1260": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1405",
   "Paragraph": "a",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r1261": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r1262": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1263": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "205",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483504/205-10-50-1"
  },
  "r1264": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1265": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX210.5-02(22)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r1266": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1267": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1268": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1269": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1270": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1271": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1272": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3"
  },
  "r1273": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-10"
  },
  "r1274": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-12"
  },
  "r1275": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-15"
  },
  "r1276": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-16"
  },
  "r1277": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14"
  },
  "r1278": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A"
  },
  "r1279": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r1280": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r1281": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1282": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1283": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1284": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1285": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r1286": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1287": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1288": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1289": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1290": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1291": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1292": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1293": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1294": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1295": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1296": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1297": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1298": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-21"
  },
  "r1299": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1300": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1301": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1302": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1303": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1304": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1305": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1306": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1307": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1308": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1309": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1310": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(m)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1311": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1312": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1313": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1314": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1315": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(r)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1316": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(s)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1317": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(t)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1318": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(u)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-22"
  },
  "r1319": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-30"
  },
  "r1320": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-31"
  },
  "r1321": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-32"
  },
  "r1322": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-33"
  },
  "r1323": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1324": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1325": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1326": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476148/220-40-50-6"
  },
  "r1327": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r1328": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r1329": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-16"
  },
  "r1330": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-21"
  },
  "r1331": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r1332": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r1333": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1334": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480738/235-10-S50-4"
  },
  "r1335": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1336": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1337": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1338": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r1339": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r1340": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r1341": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r1342": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r1343": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1344": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1345": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r1346": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r1347": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r1348": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r1349": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r1350": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r1351": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r1352": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18"
  },
  "r1353": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r1354": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r1355": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r1356": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r1357": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r1358": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-42"
  },
  "r1359": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-42"
  },
  "r1360": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "40",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481628/310-20-40-7"
  },
  "r1361": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "10B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481889/320-10-35-10B"
  },
  "r1362": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-1"
  },
  "r1363": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481830/320-10-45-11"
  },
  "r1364": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r1365": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r1366": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1367": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1368": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1369": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1370": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1371": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1372": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1373": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1374": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1375": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r1376": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r1377": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r1378": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r1379": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r1380": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r1381": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r1382": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r1383": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r1384": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9"
  },
  "r1385": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1386": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1387": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1388": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-4"
  },
  "r1389": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1390": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "30",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479391/326-20-30-2"
  },
  "r1391": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1"
  },
  "r1392": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11"
  },
  "r1393": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1394": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1395": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1396": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1397": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1398": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1399": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r1400": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14"
  },
  "r1401": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5"
  },
  "r1402": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5"
  },
  "r1403": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-15"
  },
  "r1404": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4"
  },
  "r1405": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1406": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1407": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r1408": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r1409": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1410": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r1411": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1412": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1413": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1414": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r1415": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r1416": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r1417": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480190/470-10-S50-1"
  },
  "r1418": {
   "role": "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"
  },
  "r1419": {
   "role": "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)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1420": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r1421": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-15"
  },
  "r1422": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r1423": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "r1424": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r1425": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r1426": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-5"
  },
  "r1427": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1428": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1429": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1430": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1431": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1432": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1433": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1434": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1435": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1436": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1437": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1438": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1439": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1440": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1441": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1442": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1443": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1444": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1445": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1446": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1447": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1448": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1449": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1450": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1451": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1452": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r1453": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-4"
  },
  "r1454": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r1455": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r1456": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-23"
  },
  "r1457": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1458": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1459": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r1460": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3"
  },
  "r1461": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-7"
  },
  "r1462": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1463": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1464": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1465": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r1466": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-2"
  },
  "r1467": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1"
  },
  "r1468": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-2"
  },
  "r1469": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "805",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-4"
  },
  "r1470": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A"
  },
  "r1471": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1B"
  },
  "r1472": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r1473": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A"
  },
  "r1474": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B"
  },
  "r1475": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4C"
  },
  "r1476": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4CC",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4CC"
  },
  "r1477": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D"
  },
  "r1478": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4E"
  },
  "r1479": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-7A"
  },
  "r1480": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1481": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1482": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-8"
  },
  "r1483": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480682/815-20-25-6A"
  },
  "r1484": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480870/815-30-50-2"
  },
  "r1485": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r1486": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1487": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1488": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1489": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1490": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1491": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1492": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1493": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1494": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1495": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1496": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1497": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r1498": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1499": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r1500": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r1501": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10"
  },
  "r1502": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r1503": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11"
  },
  "r1504": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-13"
  },
  "r1505": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r1506": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1507": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r1508": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r1509": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r1510": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r1511": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1512": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1513": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r1514": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1515": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1516": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r1517": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "940",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/940-320/tableOfContent"
  },
  "r1518": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(7)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r1519": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-2"
  },
  "r1520": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-2"
  },
  "r1521": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3"
  },
  "r1522": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3"
  },
  "r1523": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3"
  },
  "r1524": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3"
  },
  "r1525": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-3"
  },
  "r1526": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "325",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477974/942-325-45-1"
  },
  "r1527": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1528": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1529": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1530": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B"
  },
  "r1531": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1532": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r1533": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1534": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r1535": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r1536": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r1537": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r1538": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1539": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1540": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1541": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r1542": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1543": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1544": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1545": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1546": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1547": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1548": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1549": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r1550": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1551": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1552": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1553": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1554": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1555": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r1556": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1557": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1558": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r1559": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-1"
  },
  "r1560": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1561": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r1562": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r1563": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r1564": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r1565": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r1566": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r1567": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1568": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r1569": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r1570": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "39",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477346/946-830-45-39"
  }
 }
}
