{
 "instance": {
  "vbfc-20210630x10q.htm": {
   "axisCustom": 1,
   "axisStandard": 22,
   "contextCount": 530,
   "dts": {
    "calculationLink": {
     "local": [
      "vbfc-20210630_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "vbfc-20210630_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml",
      "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "vbfc-20210630x10q.htm"
     ]
    },
    "labelLink": {
     "local": [
      "vbfc-20210630_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml",
      "https://xbrl.sec.gov/dei/2020/dei-doc-2020-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "vbfc-20210630_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml",
      "https://xbrl.sec.gov/dei/2020/dei-ref-2020-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "vbfc-20210630.xsd"
     ],
     "remote": [
      "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",
      "https://xbrl.sec.gov/dei/2020/dei-2020-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd",
      "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd",
      "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.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",
      "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd"
     ]
    }
   },
   "elementCount": 603,
   "entityCount": 1,
   "hidden": {
    "http://fasb.org/us-gaap/2020-01-31": 5,
    "http://xbrl.sec.gov/dei/2020-01-31": 7,
    "total": 12
   },
   "keyCustom": 59,
   "keyStandard": 383,
   "memberCustom": 35,
   "memberStandard": 42,
   "nsprefix": "vbfc",
   "nsuri": "http://www.villagebank.com/20210630",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "document",
     "isDefault": "true",
     "longName": "00090 - Document - Document And Entity Information",
     "role": "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation",
     "shortName": "Document And Entity Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10301 - Disclosure - Earnings per common share",
     "role": "http://www.villagebank.com/role/DisclosureEarningsPerCommonShare",
     "shortName": "Earnings per common share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10401 - Disclosure - Investment securities available for sale",
     "role": "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSale",
     "shortName": "Investment securities available for sale",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10501 - Disclosure - Loans and allowance for loan losses",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLosses",
     "shortName": "Loans and allowance for loan losses",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DepositLiabilitiesDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10601 - Disclosure - Deposits",
     "role": "http://www.villagebank.com/role/DisclosureDeposits",
     "shortName": "Deposits",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DepositLiabilitiesDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10701 - Disclosure - Borrowings",
     "role": "http://www.villagebank.com/role/DisclosureBorrowings",
     "shortName": "Borrowings",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:TrustPreferredSecuritiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10801 - Disclosure - Trust preferred securities",
     "role": "http://www.villagebank.com/role/DisclosureTrustPreferredSecurities",
     "shortName": "Trust preferred securities",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:TrustPreferredSecuritiesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubordinatedBorrowingsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10901 - Disclosure - Subordinated Debt",
     "role": "http://www.villagebank.com/role/DisclosureSubordinatedDebt",
     "shortName": "Subordinated Debt",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubordinatedBorrowingsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11001 - Disclosure - Stock incentive plan",
     "role": "http://www.villagebank.com/role/DisclosureStockIncentivePlan",
     "shortName": "Stock incentive plan",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11101 - Disclosure - Fair value",
     "role": "http://www.villagebank.com/role/DisclosureFairValue",
     "shortName": "Fair value",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11201 - Disclosure - Segment Reporting",
     "role": "http://www.villagebank.com/role/DisclosureSegmentReporting",
     "shortName": "Segment Reporting",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndDueFromBanks",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00100 - Statement - Consolidated Balance Sheets",
     "role": "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets",
     "shortName": "Consolidated Balance Sheets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndDueFromBanks",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11301 - Disclosure - Shareholders' Equity and Regulatory Matters",
     "role": "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMatters",
     "shortName": "Shareholders' Equity and Regulatory Matters",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11401 - Disclosure - Commitments and contingencies",
     "role": "http://www.villagebank.com/role/DisclosureCommitmentsAndContingencies",
     "shortName": "Commitments and contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:MortgageBankingAndDerivativesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11501 - Disclosure - Mortgage Banking and Derivatives",
     "role": "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivatives",
     "shortName": "Mortgage Banking and Derivatives",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:MortgageBankingAndDerivativesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DescriptionOfNewAccountingPronouncementsNotYetAdopted",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "11601 - Disclosure - Recent accounting pronouncements",
     "role": "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncements",
     "shortName": "Recent accounting pronouncements",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DescriptionOfNewAccountingPronouncementsNotYetAdopted",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30303 - Disclosure - Earnings per share (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureEarningsPerShareTables",
     "shortName": "Earnings per share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30403 - Disclosure - Investment securities available for sale (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleTables",
     "shortName": "Investment securities available for sale (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30503 - Disclosure - Loans and allowance for loan losses (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables",
     "shortName": "Loans and allowance for loan losses (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "us-gaap:DepositLiabilitiesDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:SummaryOfDepositsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "30603 - Disclosure - Deposits (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureDepositsTables",
     "shortName": "Deposits (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:DepositLiabilitiesDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:SummaryOfDepositsTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31003 - Disclosure - Stock incentive plan (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureStockIncentivePlanTables",
     "shortName": "Stock incentive plan (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31103 - Disclosure - Fair value (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureFairValueTables",
     "shortName": "Fair value (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_OTBbor04pUmtCSOy6sMHrg",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00105 - Statement - Consolidated Balance Sheets (Parenthetical)",
     "role": "http://www.villagebank.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "shortName": "Consolidated Balance Sheets (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Divide_USD_shares_OTBbor04pUmtCSOy6sMHrg",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31203 - Disclosure - Segment Reporting (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureSegmentReportingTables",
     "shortName": "Segment Reporting (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31303 - Disclosure - Shareholders' Equity and Regulatory Matters (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersTables",
     "shortName": "Shareholders' Equity and Regulatory Matters (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueOffBalanceSheetRisksTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "31403 - Disclosure - Commitments and contingencies (Tables)",
     "role": "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesTables",
     "shortName": "Commitments and contingencies (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfFairValueOffBalanceSheetRisksTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40301 - Disclosure - Earnings per share (Details)",
     "role": "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails",
     "shortName": "Earnings per share (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_-P3T1dvd-0-CoNOG4CxP8w",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_-P3T1dvd-0-CoNOG4CxP8w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40302 - Disclosure - Earnings per share - Additional Information (Details)",
     "role": "http://www.villagebank.com/role/DisclosureEarningsPerShareAdditionalInformationDetails",
     "shortName": "Earnings per share - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40401 - Disclosure - Investment securities available for sale - Amortized cost and fair value of investment securities (Details)",
     "role": "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
     "shortName": "Investment securities available for sale - Amortized cost and fair value of investment securities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "vbfc:AvailableForSaleSecuritiesRealizedGrossGainsAndLossesTableTextBlock",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40402 - Disclosure - Investment securities available for sale - Summary of gross realized gains and losses to available for sale securities (Details)",
     "role": "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfGrossRealizedGainsAndLossesToAvailableForSaleSecuritiesDetails",
     "shortName": "Investment securities available for sale - Summary of gross realized gains and losses to available for sale securities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "vbfc:AvailableForSaleSecuritiesRealizedGrossGainsAndLossesTableTextBlock",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40403 - Disclosure - Investment securities available for sale - Summary of investment securities available for sale having fair value and unrealized loss position (Details)",
     "role": "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails",
     "shortName": "Investment securities available for sale - Summary of investment securities available for sale having fair value and unrealized loss position (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40404 - Disclosure - Investment securities available for sale - Summary of amortized cost and estimated fair value of investment securities available for sale (Details)",
     "role": "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails",
     "shortName": "Investment securities available for sale - Summary of amortized cost and estimated fair value of investment securities available for sale (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProceedsFromSaleOfAvailableForSaleSecuritiesDebt",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40405 - Disclosure - Investment securities available for sale - Additional Information (Details)",
     "role": "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
     "shortName": "Investment securities available for sale - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "us-gaap:PledgedFinancialInstrumentsNotSeparatelyReportedSecuritiesForFederalHomeLoanBank",
       "p",
       "us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_us-gaap_InvestmentTypeAxis_vbfc_InvestmentPledgedAsSecurityForDebtMember__cFhevt0fEGFy0WLR1367g",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:PledgedFinancialInstrumentsNotSeparatelyReportedSecuritiesForFederalHomeLoanBank",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:InterestAndFeeIncomeLoansAndLeases",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00200 - Statement - Consolidated Statements of Income",
     "role": "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome",
     "shortName": "Consolidated Statements of Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:InterestAndDividendIncomeSecurities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LoansAndLeasesReceivableGrossCarryingAmount",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40501 - Disclosure - Loans and allowance for loan losses - Classified by type (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
     "shortName": "Loans and allowance for loan losses - Classified by type (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:LoansAndLeasesReceivableDeferredIncome",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LoansAndLeasesReceivableNetReportedAmount",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40502 - Disclosure - Loans and allowance for loan losses - Information on PPP loans (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails",
     "shortName": "Loans and allowance for loan losses - Information on PPP loans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfReceivablesWithImputedInterestTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_vbfc_PaycheckProtectionProgramLoansMember_3EuBnPrjQUuZE8DYFeqRLg",
      "decimals": "INF",
      "lang": null,
      "name": "vbfc:NumberOfLoansGranted",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_loan_8gjL6cFqpkG3v5sIAppK-Q",
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFinancingReceivablesNonAccrualStatusTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinancingReceivableRecordedInvestmentNonaccrualStatus",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40503 - Disclosure - Loans and allowance for loan losses - Information on nonaccrual loans (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
     "shortName": "Loans and allowance for loan losses - Information on nonaccrual loans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFinancingReceivablesNonAccrualStatusTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinancingReceivableRecordedInvestmentNonaccrualStatus",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LoansAndLeasesReceivableGrossCarryingAmount",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40504 - Disclosure - Loans and allowance for loan losses - Information on the risk rating of loans (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
     "shortName": "Loans and allowance for loan losses - Information on the risk rating of loans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FinancingReceivableCreditQualityIndicatorsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_us-gaap_InternalCreditAssessmentAxis_vbfc_RiskRated14Member_QLZJN3DUT0OCftcCJjtYrw",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:LoansAndLeasesReceivableGrossCarryingAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PastDueFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinancingReceivableRecordedInvestmentPastDue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40505 - Disclosure - Loans and allowance for loan losses - Recorded investment in past due loans and leases (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails",
     "shortName": "Loans and allowance for loan losses - Recorded investment in past due loans and leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PastDueFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinancingReceivableRecordedInvestmentPastDue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ImpairedFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40506 - Disclosure - Loans and allowance for loan losses - Impaired loans (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
     "shortName": "Loans and allowance for loan losses - Impaired loans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ImpairedFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40507 - Disclosure - Loans and allowance for loan losses - Average recorded investment in impaired loans (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
     "shortName": "Loans and allowance for loan losses - Average recorded investment in impaired loans (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:TroubledDebtRestructuringsOnFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_us-gaap_FinancialInstrumentAxis_vbfc_SpecificValuationAllowanceMember_4ygmCAYHxEW23L5xg_GnDw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinancingReceivableModificationsRecordedInvestment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40508 - Disclosure - Loans and allowance for loan losses - Nonaccrual TDRs and the related specific valuation allowance by portfolio segment (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
     "shortName": "Loans and allowance for loan losses - Nonaccrual TDRs and the related specific valuation allowance by portfolio segment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:TroubledDebtRestructuringsOnFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_us-gaap_FinancialInstrumentAxis_vbfc_SpecificValuationAllowanceMember_4ygmCAYHxEW23L5xg_GnDw",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinancingReceivableModificationsRecordedInvestment",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "vbfc:TroubledDebtRestructuringsOnFinancingReceivablesModificationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2020_To_6_30_2020_us-gaap_FinancingReceivablePortfolioSegmentAxis_us-gaap_CommercialRealEstatePortfolioSegmentMember_X9uhzg4C8UWQqA98gZhHPA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FinancingReceivableModificationsNumberOfContracts2",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40509 - Disclosure - Loans and allowance for loan losses - Information about TDRs (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
     "shortName": "Loans and allowance for loan losses - Information about TDRs (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "vbfc:TroubledDebtRestructuringsOnFinancingReceivablesModificationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2020_To_6_30_2020_us-gaap_FinancingReceivablePortfolioSegmentAxis_us-gaap_CommercialRealEstatePortfolioSegmentMember_X9uhzg4C8UWQqA98gZhHPA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FinancingReceivableModificationsPreModificationRecordedInvestment2",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_3_31_2021_c0JJsgsU5k2J2mcWHhRt3w",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LoansAndLeasesReceivableAllowance",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40510 - Disclosure - Loans and allowance for loan losses - Allowance for loan losses (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
     "shortName": "Loans and allowance for loan losses - Allowance for loan losses (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:AllowanceForLoanAndLeaseLossesWriteOffs",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00300 - Statement - Consolidated Statements of Comprehensive Income",
     "role": "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
     "shortName": "Consolidated Statements of Comprehensive Income",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_4_1_2021_To_6_30_2021_AYdozwHiEEaYFoW3K-w0HA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LoansAndLeasesReceivableAllowance",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40511 - Disclosure - Loans and allowance for loan losses - Loans evaluated for impairment (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
     "shortName": "Loans and allowance for loan losses - Loans evaluated for impairment (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:LoansPledgedAsCollateral",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40512 - Disclosure - Loans and allowance for loan losses - Additional Information (Details)",
     "role": "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
     "shortName": "Loans and allowance for loan losses - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_rNEvpQCDeEiz2mKmvZJX6Q",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:LoansPledgedAsCollateral",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "vbfc:SummaryOfDepositsTableTextBlock",
       "us-gaap:DepositLiabilitiesDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NoninterestBearingDomesticDepositDemand",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40601 - Disclosure - Deposits (Details)",
     "role": "http://www.villagebank.com/role/DisclosureDepositsDetails",
     "shortName": "Deposits (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "vbfc:SummaryOfDepositsTableTextBlock",
       "us-gaap:DepositLiabilitiesDisclosuresTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NoninterestBearingDomesticDepositDemand",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FederalHomeLoanBankStock",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40701 - Disclosure - Borrowings - (Details)",
     "role": "http://www.villagebank.com/role/DisclosureBorrowingsDetails",
     "shortName": "Borrowings - (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:FederalHomeLoanBankStock",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:JuniorSubordinatedNotes",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40801 - Disclosure - Trust preferred securities (Details)",
     "role": "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails",
     "shortName": "Trust preferred securities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "vbfc:TrustPreferredSecuritiesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": "2",
      "lang": null,
      "name": "vbfc:PercentageOfTierOneRiskBasedCapitalRequiredForCapitalAdequacy",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_2F9dF9sjJEWSJfc__t0pyA",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SubordinatedBorrowingsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_3_21_2018_To_3_21_2018_xNdsqVeMgUig_5fcpcW33A",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "40901 - Disclosure - Subordinated Debt (Details)",
     "role": "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails",
     "shortName": "Subordinated Debt (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SubordinatedBorrowingsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_3_21_2018_To_3_21_2018_xNdsqVeMgUig_5fcpcW33A",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:ProceedsFromIssuanceOfSubordinatedLongTermDebt",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R56": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_rNEvpQCDeEiz2mKmvZJX6Q",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_-P3T1dvd-0-CoNOG4CxP8w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41001 - Disclosure - Stock incentive plan - Options outstanding under company's stock incentive plan (Details)",
     "role": "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails",
     "shortName": "Stock incentive plan - Options outstanding under company's stock incentive plan (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfStockOptionsRollForwardTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_rNEvpQCDeEiz2mKmvZJX6Q",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_-P3T1dvd-0-CoNOG4CxP8w",
      "xsiNil": "false"
     }
    },
    "R57": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_-P3T1dvd-0-CoNOG4CxP8w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41002 - Disclosure - Stock incentive plan - Non vested restricted stock award (Details)",
     "role": "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails",
     "shortName": "Stock incentive plan - Non vested restricted stock award (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember_TrDhnEKCYUGa1fR7Wt7gkw",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_shares_-P3T1dvd-0-CoNOG4CxP8w",
      "xsiNil": "false"
     }
    },
    "R58": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "reportCount": 1,
      "unitRef": "Unit_Standard_shares_-P3T1dvd-0-CoNOG4CxP8w",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41003 - Disclosure - Stock incentive plan - Additional Information (Details)",
     "role": "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails",
     "shortName": "Stock incentive plan - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R59": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "vbfc:MortgageBankingAndDerivativesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:LoansHeldForSaleFairValueDisclosure",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41101 - Disclosure - Fair value - Recurring and non recurring basis (Details)",
     "role": "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails",
     "shortName": "Fair value - Recurring and non recurring basis (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_QGJr1CqTH0aA_6UxBlcqkQ",
      "decimals": "-3",
      "lang": null,
      "name": "vbfc:UsGovernmentAgenciesFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_R_7jUu3K6UOPcUYaXBIHpg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00400 - Statement - Consolidated Statements of Shareholders' Equity",
     "role": "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity",
     "shortName": "Consolidated Statements of Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_R_7jUu3K6UOPcUYaXBIHpg",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R60": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_rNEvpQCDeEiz2mKmvZJX6Q",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AssetsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41102 - Disclosure - Fair value - Financial instruments measured at fair value (Details)",
     "role": "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails",
     "shortName": "Fair value - Financial instruments measured at fair value (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_rNEvpQCDeEiz2mKmvZJX6Q",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AssetsFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R61": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AvailableForSaleSecuritiesDebtSecurities",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41103 - Disclosure - Fair value - Carrying amounts and estimated fair value of the company's (Details)",
     "role": "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
     "shortName": "Fair value - Carrying amounts and estimated fair value of the company's (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:FairValueByBalanceSheetGroupingTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementBasisAxis_us-gaap_CarryingReportedAmountFairValueDisclosureMember_6z9vnVtSgkGDH93h7hrYgQ",
      "decimals": "-3",
      "lang": null,
      "name": "vbfc:CashFairValueDisclosure",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R62": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_GFiNWuYZNUa2vYR7yShxAw",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41201 - Disclosure - Segment Reporting - Segment information (Details)",
     "role": "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
     "shortName": "Segment Reporting - Segment information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "us-gaap:NumberOfReportableSegments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_segment_GFiNWuYZNUa2vYR7yShxAw",
      "xsiNil": "false"
     }
    },
    "R63": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41301 - Disclosure - Shareholders' Equity and Regulatory Matters - Accumulated other comprehensive income (loss) (Details)",
     "role": "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAccumulatedOtherComprehensiveIncomeLossDetails",
     "shortName": "Shareholders' Equity and Regulatory Matters - Accumulated other comprehensive income (loss) (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R64": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "1",
      "first": true,
      "lang": null,
      "name": "us-gaap:CapitalRequiredToBeWellCapitalizedToRiskWeightedAssets",
      "reportCount": 1,
      "unitRef": "Unit_Standard_pure_2F9dF9sjJEWSJfc__t0pyA",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41302 - Disclosure - Shareholders' Equity and Regulatory Matters - Capital amounts and ratios (Details)",
     "role": "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails",
     "shortName": "Shareholders' Equity and Regulatory Matters - Capital amounts and ratios (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "0",
      "lang": null,
      "name": "us-gaap:TierOneLeverageCapitalRequiredForCapitalAdequacyToAverageAssets",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_pure_2F9dF9sjJEWSJfc__t0pyA",
      "xsiNil": "false"
     }
    },
    "R65": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_rNEvpQCDeEiz2mKmvZJX6Q",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredIncomeTaxLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41303 - Disclosure - Shareholders' Equity and Regulatory Matters - Additional Information (Details)",
     "role": "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails",
     "shortName": "Shareholders' Equity and Regulatory Matters - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "vbfc:ShareholdersEquityAndRegulatoryMattersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_12_31_2020_rNEvpQCDeEiz2mKmvZJX6Q",
      "decimals": "0",
      "first": true,
      "lang": null,
      "name": "us-gaap:DeferredIncomeTaxLiabilities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R66": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFairValueOffBalanceSheetRisksTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueDisclosureOffbalanceSheetRisksAmountLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41401 - Disclosure - Commitments and contingencies (Details)",
     "role": "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails",
     "shortName": "Commitments and contingencies (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFairValueOffBalanceSheetRisksTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:FairValueDisclosureOffbalanceSheetRisksAmountLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R67": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "vbfc:MortgageBankingAndDerivativesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:LoansHeldForSaleFairValueDisclosure",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41501 - Disclosure - Mortgage Banking and Derivatives (Details)",
     "role": "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails",
     "shortName": "Mortgage Banking and Derivatives (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "vbfc:MortgageBankingAndDerivativesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_ihRow79rXkqz7kaYCAJ8TA",
      "decimals": "-5",
      "lang": null,
      "name": "vbfc:LoansHeldForSaleUnpaidPrincipalBalance",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R68": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_vbfc_PaycheckProtectionProgramLoansMember_1iGzD66U3kuXdppbHA_Csg",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "vbfc:LoansAndLeasesReceivableNetAmountUnderCaaModifiedTerms",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "41601 - Disclosure - Recent accounting pronouncements (Details)",
     "role": "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncementsDetails",
     "shortName": "Recent accounting pronouncements (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "As_Of_6_30_2021_us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis_vbfc_PaycheckProtectionProgramLoansMember_1iGzD66U3kuXdppbHA_Csg",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "vbfc:LoansAndLeasesReceivableNetAmountUnderCaaModifiedTerms",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "00500 - Statement - Consolidated Statements of Cash Flows",
     "role": "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows",
     "shortName": "Consolidated Statements of Cash Flows",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DepreciationAmortizationAndAccretionNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "Unit_Standard_USD__73wjMlMkkqMjLWanwfamQ",
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10101 - Disclosure - Principles of presentation",
     "role": "http://www.villagebank.com/role/DisclosurePrinciplesOfPresentation",
     "shortName": "Principles of presentation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:UseOfEstimatesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "10201 - Disclosure - Use of estimates",
     "role": "http://www.villagebank.com/role/DisclosureUseOfEstimates",
     "shortName": "Use of estimates",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "baseRef": "vbfc-20210630x10q.htm",
      "contextRef": "Duration_1_1_2021_To_6_30_2021_1WzIfq7A2kmpTLk2vOwEaQ",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "vbfc:UseOfEstimatesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 79,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is YYYY-MM-DD.",
        "label": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r540"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r541"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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'.",
        "label": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r544"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r543"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r538"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r539"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DocumentDocumentAndEntityInformation"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_ConsolidatedEntitiesAxis": {
     "auth_ref": [
      "r334",
      "r335",
      "r338",
      "r339",
      "r537"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Axis]"
       }
      }
     },
     "localname": "ConsolidatedEntitiesAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidatedEntitiesDomain": {
     "auth_ref": [
      "r334",
      "r335",
      "r338",
      "r339"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Domain]",
        "terseLabel": "Consolidated Entities [Domain]"
       }
      }
     },
     "localname": "ConsolidatedEntitiesDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationEliminationsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Eliminations [Member]",
        "terseLabel": "Eliminations [Member]"
       }
      }
     },
     "localname": "ConsolidationEliminationsMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r131",
      "r144",
      "r145",
      "r146",
      "r147",
      "r149",
      "r151",
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [
      "r131",
      "r144",
      "r145",
      "r146",
      "r147",
      "r149",
      "r151",
      "r155"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]",
        "terseLabel": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [
      "r285",
      "r286",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r416",
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [
      "r285",
      "r286",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r416",
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [
      "r273",
      "r285",
      "r286",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r416",
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails",
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [
      "r273",
      "r285",
      "r286",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r416",
      "r498",
      "r499"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Member]",
        "terseLabel": "Range [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails",
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_SubsidiariesMember": {
     "auth_ref": [
      "r283",
      "r382",
      "r383",
      "r384"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiaries [Member]",
        "terseLabel": "Subsidiaries [Member]"
       }
      }
     },
     "localname": "SubsidiariesMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_WeightedAverageMember": {
     "auth_ref": [
      "r391",
      "r393",
      "r396"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average [Member]",
        "terseLabel": "Weighted Average [Member]"
       }
      }
     },
     "localname": "WeightedAverageMember",
     "nsuri": "http://fasb.org/srt/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AccountsNotesAndLoansReceivableLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accounts, Notes, Loans and Financing Receivable [Line Items]"
       }
      }
     },
     "localname": "AccountsNotesAndLoansReceivableLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": {
     "auth_ref": [
      "r84"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 14.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Accretion (Amortization) of Discounts and Premiums, Investments",
        "negatedLabel": "Amortization of premiums and accretion of discounts on securities, net"
       }
      }
     },
     "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesFairValueDisclosure": {
     "auth_ref": [
      "r23"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of accrued expenses.",
        "label": "Accrued Liabilities, Fair Value Disclosure",
        "terseLabel": "Accrued interest payable"
       }
      }
     },
     "localname": "AccruedLiabilitiesFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax": {
     "auth_ref": [
      "r41"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAccumulatedOtherComprehensiveIncomeLossDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Accumulated Other Comprehensive Income (Loss), Debt Securities, Available-for-sale, Adjustment, after Tax",
        "verboseLabel": "Net unrealized gains on securities"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax": {
     "auth_ref": [
      "r37",
      "r42",
      "r282"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAccumulatedOtherComprehensiveIncomeLossDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax, of accumulated other comprehensive (income) loss for defined benefit plan, that has not been recognized in net periodic benefit cost (credit).",
        "label": "Accumulated Other Comprehensive (Income) Loss, Defined Benefit Plan, after Tax",
        "negatedLabel": "Net unrecognized losses on defined benefit plan"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAccumulatedOtherComprehensiveIncomeLossDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r16",
      "r39",
      "r41",
      "r42",
      "r484",
      "r507",
      "r511"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAccumulatedOtherComprehensiveIncomeLossDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "totalLabel": "Total accumulated other comprehensive income",
        "verboseLabel": "Accumulated other comprehensive income"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAccumulatedOtherComprehensiveIncomeLossDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r38",
      "r42",
      "r45",
      "r94",
      "r95",
      "r96",
      "r337",
      "r502",
      "r503"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Accumulated Other Comprehensive Income [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (loss) [Member]"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapital": {
     "auth_ref": [
      "r14",
      "r313"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.",
        "label": "Additional Paid in Capital",
        "verboseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapital",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [
      "r94",
      "r95",
      "r96",
      "r310",
      "r311",
      "r312"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid In Capital [Member]",
        "terseLabel": "Additional Paid-in Capital [Member]"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r287",
      "r289",
      "r315",
      "r316"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "verboseLabel": "Stock based compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r289",
      "r303",
      "r314"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Allocated Share-based Compensation Expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r169",
      "r223"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.",
        "label": "Allowance for Credit Losses on Financing Receivables [Table Text Block]",
        "verboseLabel": "Schedule of activity in the allowance for loan losses"
       }
      }
     },
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_AllowanceForLoanAndLeaseLossRecoveryOfBadDebts": {
     "auth_ref": [
      "r166"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of recovery of loans and lease receivables which had previously been fully or partially written-off as bad debts.",
        "label": "Allowance for Loan and Lease Loss, Recovery of Bad Debts",
        "verboseLabel": "Recoveries"
       }
      }
     },
     "localname": "AllowanceForLoanAndLeaseLossRecoveryOfBadDebts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForLoanAndLeaseLossesWriteOffs": {
     "auth_ref": [
      "r165"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of loans and leases that have been written off from both loan receivables and allowance reserve for credit loss.",
        "label": "Allowance for Loan and Lease Losses, Write-offs",
        "negatedLabel": "Charge-offs"
       }
      }
     },
     "localname": "AllowanceForLoanAndLeaseLossesWriteOffs",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfFinancingCosts": {
     "auth_ref": [
      "r61",
      "r83",
      "r376"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense attributable to debt issuance costs.",
        "label": "Amortization of Debt Issuance Costs",
        "terseLabel": "Amortization of debt issuance costs"
       }
      }
     },
     "localname": "AmortizationOfFinancingCosts",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r119"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "verboseLabel": "Dilutive effect of common stock options (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r87",
      "r139",
      "r146",
      "r153",
      "r215",
      "r334",
      "r338",
      "r364",
      "r424",
      "r482"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "disclosureGuidance": "Total assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total Assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "verboseLabel": "Assets"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsFairValueDisclosure": {
     "auth_ref": [
      "r348"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Fair Value Disclosure"
       }
      }
     },
     "localname": "AssetsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsHeldInTrustNoncurrent": {
     "auth_ref": [
      "r89"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash, securities, or other assets held by a third-party trustee pursuant to the terms of an agreement which assets are available to be used by beneficiaries to that agreement only within the specific terms thereof and which agreement is expected to terminate more than one year from the balance sheet date (or operating cycle, if longer) at which time the assets held-in-trust will be released or forfeited.",
        "label": "Assets Held-in-trust, Noncurrent",
        "verboseLabel": "Principal assets of the trust"
       }
      }
     },
     "localname": "AssetsHeldInTrustNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax": {
     "auth_ref": [
      "r198"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Available-for-sale Securities, Accumulated Gross Unrealized Gain, before Tax",
        "verboseLabel": "Gross Unrealized Gains"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax": {
     "auth_ref": [
      "r199"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Available-for-sale Securities, Accumulated Gross Unrealized Loss, before Tax",
        "negatedLabel": "Gross Unrealized Losses"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "auth_ref": [
      "r196",
      "r237"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Available-for-sale Securities, Amortized Cost Basis",
        "verboseLabel": "Amortized Cost"
       }
      }
     },
     "localname": "AvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost": {
     "auth_ref": [
      "r203"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date, maturing in sixth through tenth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, after Five Through Ten Years, Amortized Cost",
        "verboseLabel": "Five to ten years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsAmortizedCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue": {
     "auth_ref": [
      "r200",
      "r203",
      "r466"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date, maturing in sixth through tenth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, after Five Through Ten Years, Fair Value",
        "verboseLabel": "Five to ten years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost": {
     "auth_ref": [
      "r202"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, after One Through Five Years, Amortized Cost",
        "verboseLabel": "One to five years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsAmortizedCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue": {
     "auth_ref": [
      "r200",
      "r202",
      "r465"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date, maturing in second through fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, after One Through Five Years, Fair Value",
        "verboseLabel": "One to five years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterTenYearsAmortizedCost": {
     "auth_ref": [
      "r204"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date, maturing after tenth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-sale, Allocated and Single Maturity Date, Maturity, after 10 Years, Amortized Cost",
        "verboseLabel": "More than ten years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterTenYearsAmortizedCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAfterTenYearsFairValue": {
     "auth_ref": [
      "r200",
      "r204",
      "r467"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date, maturing after tenth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, after 10 Years, Fair Value",
        "verboseLabel": "More than ten years"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAfterTenYearsFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesAmortizedCostAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-sale, Amortized Cost, Fiscal Year Maturity [Abstract]",
        "verboseLabel": "Amortized Cost"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesAmortizedCostAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Securities, Available-for-sale, Fair Value, Fiscal Year Maturity [Abstract]",
        "verboseLabel": "Fair Value"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesFairValueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis": {
     "auth_ref": [
      "r200",
      "r205",
      "r463"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date.",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, Amortized Cost",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost": {
     "auth_ref": [
      "r201"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, within One Year, Amortized Cost",
        "verboseLabel": "Less than one year"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue": {
     "auth_ref": [
      "r200",
      "r201",
      "r464"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_AvailableForSaleSecuritiesDebtSecurities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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), with single maturity date and allocated without single maturity date, maturing in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Debt Securities, Available-for-sale, Maturity, Allocated and Single Maturity Date, within One Year, Fair Value",
        "terseLabel": "Less than one year"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AvailableForSaleSecuritiesDebtSecurities": {
     "auth_ref": [
      "r193",
      "r197",
      "r237",
      "r429"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Available-for-sale Securities",
        "presentationGuidance": "Fair Value",
        "terseLabel": "Investment securities available for sale, at fair value",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesDebtSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfAmortizedCostAndEstimatedFairValueOfInvestmentSecuritiesAvailableForSaleDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AwardTypeAxis": {
     "auth_ref": [
      "r290",
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of award under share-based payment arrangement.",
        "label": "Award Type [Axis]"
       }
      }
     },
     "localname": "AwardTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by location on balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Axis]"
       }
      }
     },
     "localname": "BalanceSheetLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "auth_ref": [
      "r344",
      "r345"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the balance sheet (statement of financial position).",
        "label": "Balance Sheet Location [Domain]",
        "terseLabel": "Balance Sheet Location [Domain]"
       }
      }
     },
     "localname": "BalanceSheetLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BankOwnedLifeInsuranceIncome": {
     "auth_ref": [
      "r451"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 15.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Earnings on or other increases in the value of the cash surrender value of bank owned life insurance policies.",
        "label": "Bank Owned Life Insurance Income",
        "negatedLabel": "Increase in bank owned life insurance"
       }
      }
     },
     "localname": "BankOwnedLifeInsuranceIncome",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Capital": {
     "auth_ref": [
      "r475",
      "r534",
      "r535"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of total capital as defined by regulatory framework.",
        "label": "Capital",
        "verboseLabel": "Actual Amount"
       }
      }
     },
     "localname": "Capital",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital [Abstract]",
        "verboseLabel": "Total capital (to risk- weighted assets) Village Bank, Amount"
       }
      }
     },
     "localname": "CapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CapitalRequiredForCapitalAdequacy": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum total risk-based capital required for capital adequacy as defined by regulatory framework.",
        "label": "Capital Required for Capital Adequacy",
        "verboseLabel": "For Capital Adequacy Purposes"
       }
      }
     },
     "localname": "CapitalRequiredForCapitalAdequacy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalRequiredForCapitalAdequacyToRiskWeightedAssets": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of minimum total risk-based capital to risk-weighted assets required for capital adequacy as defined by regulatory framework.",
        "label": "Capital Required for Capital Adequacy to Risk Weighted Assets",
        "verboseLabel": "For Capital Adequacy Purposes (in percentage)"
       }
      }
     },
     "localname": "CapitalRequiredForCapitalAdequacyToRiskWeightedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_CapitalRequiredToBeWellCapitalized": {
     "auth_ref": [
      "r475"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum total risk-based capital categorized as well capitalized as defined by regulatory framework for prompt corrective action.",
        "label": "Capital Required to be Well Capitalized",
        "verboseLabel": "To be Well Capitalized Amount"
       }
      }
     },
     "localname": "CapitalRequiredToBeWellCapitalized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalRequiredToBeWellCapitalizedToRiskWeightedAssets": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of minimum total risk-based capital to risk-weighted assets categorized as well capitalized as defined by regulatory framework for prompt corrective action.",
        "label": "Capital Required to be Well Capitalized to Risk Weighted Assets",
        "verboseLabel": "To be Well Capitalized (in percentage)"
       }
      }
     },
     "localname": "CapitalRequiredToBeWellCapitalizedToRiskWeightedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_CapitalToRiskWeightedAssets": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of total risk-based capital to risk-weighted assets as defined by regulatory framework.",
        "label": "Capital to Risk Weighted Assets",
        "verboseLabel": "Actual Ratio (in percentage)"
       }
      }
     },
     "localname": "CapitalToRiskWeightedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_CarryingReportedAmountFairValueDisclosureMember": {
     "auth_ref": [
      "r362",
      "r363"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured as reported on the statement of financial position (balance sheet).",
        "label": "Carrying Reported Amount Fair Value Disclosure [Member]",
        "terseLabel": "Reported Value Measurement [Member]"
       }
      }
     },
     "localname": "CarryingReportedAmountFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CashAndCashEquivalentsFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and Cash Equivalents, Fair Value Disclosure",
        "terseLabel": "Cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashAndDueFromBanks": {
     "auth_ref": [
      "r422"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsAndFederalFundsSold",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash and Due from Banks",
        "verboseLabel": "Cash and due from banks"
       }
      }
     },
     "localname": "CashAndDueFromBanks",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsAndFederalFundsSold": {
     "auth_ref": [
      "r430"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The sum of cash and cash equivalents plus Federal Funds Sold. Cash and cash equivalents consist of short term, highly liquid investments that are readily convertible to known amounts of cash and are so near their maturity that they present negligible risk of changes in value due to changes in interest rates -- usually with an original maturity less than 90 days.",
        "label": "Cash, Cash Equivalents, and Federal Funds Sold",
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "totalLabel": "Total cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsAndFederalFundsSold",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "auth_ref": [
      "r77",
      "r365"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, 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.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Excluding Exchange Rate Effect",
        "totalLabel": "Net increase in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Flow, Noncash Investing and Financing Activities Disclosure [Abstract]",
        "verboseLabel": "Supplemental Schedule of Non-Cash Activities"
       }
      }
     },
     "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashSurrenderValueOfLifeInsurance": {
     "auth_ref": [
      "r3",
      "r20"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 8.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Cash Surrender Value of Life Insurance",
        "verboseLabel": "Bank owned life insurance"
       }
      }
     },
     "localname": "CashSurrenderValueOfLifeInsurance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommercialLoanMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A loan, whether secured or unsecured, to a company for purposes such as seasonal working capital needs, inventory financing, equipment purchases and acquisitions.",
        "label": "Commercial Loan [Member]",
        "terseLabel": "Commercial [Member]"
       }
      }
     },
     "localname": "CommercialLoanMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommercialRealEstatePortfolioSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portfolio segment of the company's total financing receivables related to commercial real estate.",
        "label": "Commercial Real Estate Portfolio Segment [Member]",
        "terseLabel": "Commercial real estate"
       }
      }
     },
     "localname": "CommercialRealEstatePortfolioSegmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r254",
      "r255",
      "r256",
      "r257"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommitmentsToExtendCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Loan commitments are legally binding commitments to extend credit to a counterparty under certain terms and conditions.",
        "label": "Commitments To Extend Credit [Member]",
        "terseLabel": "Commitments to extend or originate credit"
       }
      }
     },
     "localname": "CommitmentsToExtendCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [
      "r94",
      "r95"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock [Member]"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "verboseLabel": "Common stock, par value (in dollars per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "verboseLabel": "Common stock, shares authorized (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r13"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "verboseLabel": "Common stock, shares issued (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r13",
      "r265"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "verboseLabel": "Common stock, shares outstanding (in shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r13"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock, $4 par value, 10,000,000 shares authorized; 1,466,800 shares issued and outstanding at June 30, 2021 and 1,466,516 shares issued and outstanding at December 31, 2020"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ComplianceWithRegulatoryCapitalRequirementsUnderBankingRegulationsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Compliance with Regulatory Capital Requirements under Banking Regulations [Line Items]"
       }
      }
     },
     "localname": "ComplianceWithRegulatoryCapitalRequirementsUnderBankingRegulationsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "auth_ref": [
      "r48",
      "r50",
      "r51",
      "r58",
      "r443",
      "r491"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "totalLabel": "Total comprehensive income"
       }
      }
     },
     "localname": "ComprehensiveIncomeNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ConsumerPortfolioSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portfolio segment of the company's total financing receivables related to consumer receivables.",
        "label": "Consumer Portfolio Segment [Member]",
        "terseLabel": "Consumer real estate"
       }
      }
     },
     "localname": "ConsumerPortfolioSegmentMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtAndEquitySecuritiesGainLoss": {
     "auth_ref": [
      "r60",
      "r62"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unrealized and realized gain (loss) on investment in debt and equity securities.",
        "label": "Debt and Equity Securities, Gain (Loss)",
        "verboseLabel": "Service charges and fees"
       }
      }
     },
     "localname": "DebtAndEquitySecuritiesGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Borrowings"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r264"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "verboseLabel": "Borrowings"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowings"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r7",
      "r8",
      "r9",
      "r425",
      "r427",
      "r480"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails",
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Debt Instrument, Basis Spread on Variable Rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails",
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentFaceAmount": {
     "auth_ref": [
      "r375",
      "r377"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Face (par) amount of debt instrument at time of issuance.",
        "label": "Debt Instrument, Face Amount"
       }
      }
     },
     "localname": "DebtInstrumentFaceAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r24",
      "r262",
      "r375"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "verboseLabel": "Interest rate (in hundredths)"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "auth_ref": [
      "r24"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.",
        "label": "Debt Instrument, Interest Rate, Stated Percentage"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentIssuanceDate1": {
     "auth_ref": [
      "r26"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date the debt instrument was issued, in CCYY-MM-DD format.",
        "label": "Debt Instrument, Issuance Date"
       }
      }
     },
     "localname": "DebtInstrumentIssuanceDate1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Debt Instrument [Line Items]"
       }
      }
     },
     "localname": "DebtInstrumentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentMaturityDate": {
     "auth_ref": [
      "r25",
      "r353"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Date when the debt instrument is scheduled to be fully repaid, in CCYY-MM-DD format.",
        "label": "Debt Instrument, Maturity Date",
        "verboseLabel": "Maturity date"
       }
      }
     },
     "localname": "DebtInstrumentMaturityDate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails",
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "dateItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument Name [Domain]",
        "terseLabel": "Debt Instrument, Name [Domain]"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails",
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtInstrumentTable": {
     "auth_ref": [
      "r28",
      "r90",
      "r266",
      "r267",
      "r268",
      "r269",
      "r374",
      "r375",
      "r377",
      "r473"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. 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.",
        "label": "Schedule of Long-term Debt Instruments [Table]"
       }
      }
     },
     "localname": "DebtInstrumentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount": {
     "auth_ref": [
      "r27"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unused borrowing capacity under the long-term financing arrangement that is available to the entity as of the balance sheet date.",
        "label": "Debt Instrument, Unused Borrowing Capacity, Amount",
        "terseLabel": "Unused borrowing capacity"
       }
      }
     },
     "localname": "DebtInstrumentUnusedBorrowingCapacityAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger": {
     "auth_ref": [
      "r211",
      "r242",
      "r245"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Twelve Months or Longer, Fair Value",
        "terseLabel": "Securities in a loss position for more than 12 Months, Fair Value"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLonger",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss": {
     "auth_ref": [
      "r211",
      "r242"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, 12 Months or Longer, Accumulated Loss",
        "negatedTerseLabel": "Securities in a loss Position for more than 12 Months, Unrealized Losses",
        "terseLabel": "Securities in a loss Position for more than 12 Months, Unrealized Losses"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions": {
     "auth_ref": [
      "r240"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of investments in debt securities 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 an allowance for credit loss. Includes beneficial interest in securitized financial asset.",
        "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, 12 Months or Longer, Number of Positions",
        "terseLabel": "Number of positions, more than 12 months"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPosition12MonthsOrLongerNumberOfPositions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months": {
     "auth_ref": [
      "r211",
      "r242",
      "r245"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Less than Twelve Months, Fair Value",
        "terseLabel": "Securities in a loss position for less than 12 Months, Fair Value"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12Months",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss": {
     "auth_ref": [
      "r211",
      "r242"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Less than 12 Months, Accumulated Loss",
        "negatedTerseLabel": "Securities in a loss position for less than 12 Months, Unrealized Losses",
        "verboseLabel": "Securities in a loss position for less than 12 Months, Unrealized Losses"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsNumberOfPositions": {
     "auth_ref": [
      "r240"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of investments in debt securities 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 an allowance for credit loss. Includes beneficial interest in securitized financial asset.",
        "label": "Debt Securities, Available-for-sale, Continuous Unrealized Loss Position, Less than 12 Months, Number of Positions",
        "terseLabel": "Number of positions, less than 12 months"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleContinuousUnrealizedLossPositionLessThan12MonthsNumberOfPositions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss": {
     "auth_ref": [
      "r212"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfGrossRealizedGainsAndLossesToAvailableForSaleSecuritiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Available-for-sale Securities, Gross Realized Gain (Loss)",
        "negatedLabel": "Gain on sale of investment securities",
        "terseLabel": "Gain on sale of investment securities, net",
        "totalLabel": "Available-for-sale Securities, Gross Realized Gain (Loss), Total"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleRealizedGainLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfGrossRealizedGainsAndLossesToAvailableForSaleSecuritiesDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfGrossRealizedGainsAndLossesToAvailableForSaleSecuritiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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), excluding other-than-temporary impairment (OTTI).",
        "label": "Available-for-sale Securities, Gross Realized Gains",
        "verboseLabel": "Gross realized gains"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfGrossRealizedGainsAndLossesToAvailableForSaleSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleRealizedLoss": {
     "auth_ref": [
      "r212"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfGrossRealizedGainsAndLossesToAvailableForSaleSecuritiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Available-for-sale Securities, Gross Realized Losses",
        "negatedLabel": "Gross realized losses"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleRealizedLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfGrossRealizedGainsAndLossesToAvailableForSaleSecuritiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTable": {
     "auth_ref": [
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "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).",
        "label": "Debt Securities, Available-for-sale [Table]"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleTableTextBlock": {
     "auth_ref": [
      "r214"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).",
        "label": "Available-for-sale Securities [Table Text Block]",
        "terseLabel": "Schedule of amortized cost and fair value of investment securities available for sale"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPosition": {
     "auth_ref": [
      "r209",
      "r238",
      "r245"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value",
        "verboseLabel": "Total Fair Value"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPosition",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss": {
     "auth_ref": [
      "r210",
      "r239"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Accumulated Loss",
        "negatedLabel": "Total Unrealized Losses"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionAccumulatedLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock": {
     "auth_ref": [
      "r208",
      "r241",
      "r245"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Available-for-sale Securities, Continuous Unrealized Loss Position, Fair Value [Table Text Block]",
        "verboseLabel": "Schedule of investment securities available for sale"
       }
      }
     },
     "localname": "DebtSecuritiesAvailableForSaleUnrealizedLossPositionFairValueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r83",
      "r88",
      "r321",
      "r327",
      "r328",
      "r329"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "verboseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "auth_ref": [
      "r10",
      "r11",
      "r319",
      "r426",
      "r478"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences.",
        "label": "Deferred Tax Liabilities, Gross"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "auth_ref": [
      "r320"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.",
        "label": "Deferred Tax Assets, Gross",
        "terseLabel": "Deferred Tax Assets, Gross"
       }
      }
     },
     "localname": "DeferredTaxAssetsGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepositLiabilitiesDisclosuresTextBlock": {
     "auth_ref": [
      "r432",
      "r470"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for deposit liabilities including data and tables. It may include a description of the entity's deposit liabilities, the aggregate amount of time deposits (including certificates of deposit) in denominations of $100,000 or more at the balance sheet date; the aggregate amount of any demand deposits that have been reclassified as loan balances, such as overdrafts, at the balance sheet date; deposits that are received on terms other than those in the normal course of business, the amount of accrued interest on deposit liabilities; securities, mortgage loans or other financial instruments that serve as collateral for deposits; for time deposits having a remaining term of more than one year, the aggregate amount of maturities for each of the five years following the balance sheet date; and the weighted average interest rate for all deposit liabilities held by the entity.",
        "label": "Deposit Liabilities Disclosures [Text Block]",
        "verboseLabel": "Deposits"
       }
      }
     },
     "localname": "DepositLiabilitiesDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDeposits"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_Deposits": {
     "auth_ref": [
      "r432"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Deposits.",
        "totalLabel": "Total deposits",
        "verboseLabel": "Total"
       }
      }
     },
     "localname": "Deposits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepositsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits",
        "verboseLabel": "Deposits"
       }
      }
     },
     "localname": "DepositsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DepositsFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Deposits, Fair Value Disclosure",
        "terseLabel": "Deposits"
       }
      }
     },
     "localname": "DepositsFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationAmortizationAndAccretionNet": {
     "auth_ref": [
      "r83"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The aggregate net amount of depreciation, amortization, and accretion recognized during an accounting period. As a noncash item, the net amount is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Depreciation, Amortization and Accretion, Net",
        "verboseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationAmortizationAndAccretionNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetNotionalAmount": {
     "auth_ref": [
      "r341",
      "r342",
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payments on the derivative asset.",
        "label": "Derivative Asset, Notional Amount",
        "terseLabel": "Forward sales commitments notional amount"
       }
      }
     },
     "localname": "DerivativeAssetNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeAssetNumberOfInstrumentsHeld": {
     "auth_ref": [
      "r342",
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of derivative instruments of a particular derivative asset or group of derivative assets held by the entity.",
        "label": "Derivative Asset, Number of Instruments Held",
        "terseLabel": "Forward sales commitments total positions"
       }
      }
     },
     "localname": "DerivativeAssetNumberOfInstrumentsHeld",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DerivativeLiabilityNotionalAmount": {
     "auth_ref": [
      "r341",
      "r342",
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Nominal or face amount used to calculate payments on the derivative liability.",
        "label": "Derivative Liability, Notional Amount",
        "netLabel": "IRLC notional amount"
       }
      }
     },
     "localname": "DerivativeLiabilityNotionalAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DerivativeLiabilityNumberOfInstrumentsHeld": {
     "auth_ref": [
      "r342",
      "r343"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of derivative instruments of a particular derivative liability or group of derivative liabilities held by the entity.",
        "label": "Derivative Liability, Number of Instruments Held",
        "verboseLabel": "IRLC total positions"
       }
      }
     },
     "localname": "DerivativeLiabilityNumberOfInstrumentsHeld",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_DescriptionOfNewAccountingPronouncementsNotYetAdopted": {
     "auth_ref": [
      "r111"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for a new accounting pronouncement that has been issued but not yet adopted.",
        "label": "Description of New Accounting Pronouncements Not yet Adopted [Text Block]",
        "terseLabel": "Recent accounting pronouncements"
       }
      }
     },
     "localname": "DescriptionOfNewAccountingPronouncementsNotYetAdopted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncements"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DescriptionOfRegulatoryRequirementsPromptCorrectiveAction": {
     "auth_ref": [
      "r474",
      "r477"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the regulatory requirements for prompt corrective action.",
        "label": "Description of Regulatory Requirements, Prompt Corrective Action"
       }
      }
     },
     "localname": "DescriptionOfRegulatoryRequirementsPromptCorrectiveAction",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r317"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]",
        "terseLabel": "Stock incentive plan"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlan"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock incentive plan"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisposalGroupNotDiscontinuedOperationGainLossOnDisposal": {
     "auth_ref": [
      "r83",
      "r247",
      "r250"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount before tax of gain (loss) recognized on the sale or disposal of a disposal group. Excludes discontinued operations.",
        "label": "Disposal Group, Not Discontinued Operation, Gain (Loss) on Disposal",
        "negatedTerseLabel": "Loss on sale and disposal of premises and equipment"
       }
      }
     },
     "localname": "DisposalGroupNotDiscontinuedOperationGainLossOnDisposal",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per common share"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r59",
      "r103",
      "r104",
      "r105",
      "r106",
      "r107",
      "r112",
      "r114",
      "r116",
      "r117",
      "r118",
      "r122",
      "r123",
      "r444",
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Earnings per share, basic",
        "verboseLabel": "Earnings per share - basic (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r59",
      "r103",
      "r104",
      "r105",
      "r106",
      "r107",
      "r114",
      "r116",
      "r117",
      "r118",
      "r122",
      "r123",
      "r444",
      "r492"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Earnings per share, diluted",
        "verboseLabel": "Earnings per share - diluted (in dollars per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r119",
      "r120",
      "r121",
      "r124"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "verboseLabel": "Earnings per common share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerCommonShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "auth_ref": [
      "r304"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "auth_ref": [
      "r304"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquipmentExpense": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents equipment expense including depreciation, repairs, rentals, and service contract costs. This item also includes equipment purchases which do not qualify for capitalization in accordance with the entity's accounting policy. This item may also include furniture expenses.",
        "label": "Equipment Expense",
        "terseLabel": "Equipment"
       }
      }
     },
     "localname": "EquipmentExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r94",
      "r95",
      "r96",
      "r99",
      "r108",
      "r110",
      "r125",
      "r219",
      "r265",
      "r270",
      "r310",
      "r311",
      "r312",
      "r324",
      "r325",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r372",
      "r502",
      "r503",
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component [Domain]"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EstimateOfFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r361"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured as an estimate of fair value.",
        "label": "Estimate Of Fair Value Fair Value Disclosure [Member]",
        "terseLabel": "Estimate of Fair Value Measurement [Member]"
       }
      }
     },
     "localname": "EstimateOfFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": {
     "auth_ref": [
      "r348",
      "r349",
      "r350",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock": {
     "auth_ref": [
      "r348",
      "r349",
      "r350",
      "r356",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of financial instruments measured at fair value, including those classified in shareholders' equity measured on a recurring or nonrecurring basis. Disclosures include, but are not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2. Nonrecurring fair value measurements are those that are required or permitted in the statement of financial position in particular circumstances.",
        "label": "Fair Value Measurements, Recurring and Nonrecurring [Table Text Block]",
        "terseLabel": "Schedule of recurring and Non recurring basis"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis.",
        "label": "Fair Value Measurement Inputs and Valuation Techniques [Table]"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis.",
        "label": "Fair Value Measurement Inputs and Valuation Techniques [Table Text Block]",
        "terseLabel": "Schedule of financial instruments measured at fair value"
       }
      }
     },
     "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "auth_ref": [
      "r354"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset.",
        "label": "Fair Value Assets Measured On Recurring Basis Unobservable Input Reconciliation By Asset Class [Domain]",
        "terseLabel": "Asset Class [Domain]"
       }
      }
     },
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Balance Sheet Grouping, Financial Statement Captions [Line Items]"
       }
      }
     },
     "localname": "FairValueBalanceSheetGroupingFinancialStatementCaptionsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "auth_ref": [
      "r348",
      "r357"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by class of asset.",
        "label": "Asset Class [Axis]"
       }
      }
     },
     "localname": "FairValueByAssetClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByBalanceSheetGroupingTable": {
     "auth_ref": [
      "r348",
      "r362",
      "r363"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, by Balance Sheet Grouping [Table]"
       }
      }
     },
     "localname": "FairValueByBalanceSheetGroupingTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByBalanceSheetGroupingTextBlock": {
     "auth_ref": [
      "r348",
      "r362"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, by Balance Sheet Grouping [Table Text Block]",
        "terseLabel": "Schedule of company's financial instruments whether or not recognized"
       }
      }
     },
     "localname": "FairValueByBalanceSheetGroupingTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "auth_ref": [
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r284",
      "r349",
      "r388",
      "r389",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.",
        "label": "Fair Value, Hierarchy [Axis]"
       }
      }
     },
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementBasisAxis": {
     "auth_ref": [
      "r348",
      "r358"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement basis.",
        "label": "Measurement Basis [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementBasisAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueByMeasurementFrequencyAxis": {
     "auth_ref": [
      "r348",
      "r349",
      "r352",
      "r353",
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by measurement frequency.",
        "label": "Measurement Frequency [Axis]"
       }
      }
     },
     "localname": "FairValueByMeasurementFrequencyAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosureOffbalanceSheetRisksAmountLiability": {
     "auth_ref": [
      "r361"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fair value of financial liabilities, which are not recognized in the financial statements (off-balance sheet) because they fail to meet some other criterion for recognition.",
        "label": "Fair Value Disclosure, Off-balance Sheet Risks, Amount, Liability",
        "terseLabel": "Total commitments to extend credit"
       }
      }
     },
     "localname": "FairValueDisclosureOffbalanceSheetRisksAmountLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value"
       }
      }
     },
     "localname": "FairValueDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "auth_ref": [
      "r355"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value Disclosures [Text Block]",
        "terseLabel": "Fair value"
       }
      }
     },
     "localname": "FairValueDisclosuresTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "auth_ref": [
      "r274",
      "r275",
      "r280",
      "r284",
      "r349",
      "r388"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.",
        "label": "Fair Value Inputs Level1 [Member]",
        "terseLabel": "Fair Value, Inputs, Level 1 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel1Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "auth_ref": [
      "r274",
      "r275",
      "r280",
      "r284",
      "r349",
      "r389"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value Inputs Level2 [Member]",
        "terseLabel": "Fair Value, Inputs, Level 2 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel2Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "auth_ref": [
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r284",
      "r349",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing.",
        "label": "Fair Value Inputs Level3 [Member]",
        "terseLabel": "Fair Value, Inputs, Level 3 [Member]"
       }
      }
     },
     "localname": "FairValueInputsLevel3Member",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementFrequencyDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measurement frequency.",
        "label": "Fair Value Measurement Frequency [Domain]",
        "terseLabel": "Fair Value, Measurement Frequency [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementFrequencyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "auth_ref": [
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r284",
      "r388",
      "r389",
      "r390"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.",
        "label": "Fair Value Measurements Fair Value Hierarchy [Domain]",
        "terseLabel": "Fair Value Hierarchy [Domain]"
       }
      }
     },
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueMeasurementsRecurringMember": {
     "auth_ref": [
      "r355",
      "r359"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value Measurements Recurring [Member]",
        "terseLabel": "Fair Value, Measurements, Recurring [Member]"
       }
      }
     },
     "localname": "FairValueMeasurementsRecurringMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FairValueOffBalanceSheetRisksDisclosureInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Fair Value, Off-balance Sheet Risks, Disclosure Information [Line Items]"
       }
      }
     },
     "localname": "FairValueOffBalanceSheetRisksDisclosureInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FederalDepositInsuranceCorporationPremiumExpense": {
     "auth_ref": [
      "r454"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 8.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense for Federal Deposit Insurance Corporation (FDIC) insurance.",
        "label": "Federal Deposit Insurance Corporation Premium Expense",
        "verboseLabel": "FDIC insurance premium"
       }
      }
     },
     "localname": "FederalDepositInsuranceCorporationPremiumExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FederalFundsSold": {
     "auth_ref": [
      "r438"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsAndFederalFundsSold",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount outstanding of funds lent to other depository institutions, securities brokers, or securities dealers in the form of Federal Funds sold; for example, immediately available funds lent under agreements or contracts that mature in one business day or roll over under a continuing contract, regardless of the nature of the transaction or the collateral involved, excluding overnight lending for commercial and industrial purposes. Also include Federal Funds sold under agreements to resell on a gross basis, excluding (1) sales of term Federal Funds, (2) due bills representing purchases of securities or other assets by the reporting bank that have not yet been delivered and similar instruments, (3) resale agreements that mature in more than one business day involving assets other than securities, and (4) yield maintenance dollar repurchase agreements.",
        "label": "Federal Funds Sold",
        "verboseLabel": "Federal funds sold"
       }
      }
     },
     "localname": "FederalFundsSold",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FederalHomeLoanBankAdvancesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Federal Home Loan Bank, Advances [Line Items]"
       }
      }
     },
     "localname": "FederalHomeLoanBankAdvancesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FederalHomeLoanBankAdvancesLongTerm": {
     "auth_ref": [
      "r437",
      "r471",
      "r472"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Including both current and noncurrent portions, Federal Home Loan Bank borrowings initially due beyond one year or beyond the normal operating cycle if longer.",
        "label": "Long-term Federal Home Loan Bank Advances"
       }
      }
     },
     "localname": "FederalHomeLoanBankAdvancesLongTerm",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FederalHomeLoanBankAdvancesMember": {
     "auth_ref": [
      "r434"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Federal Home Loan Bank Advances [Member]",
        "terseLabel": "Federal Home Loan Bank Advances [Member]"
       }
      }
     },
     "localname": "FederalHomeLoanBankAdvancesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FederalHomeLoanBankAdvancesTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about advances made and reported by Federal Home Loan Bank (FHLBank).",
        "label": "Federal Home Loan Bank, Advances [Table]"
       }
      }
     },
     "localname": "FederalHomeLoanBankAdvancesTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FederalHomeLoanBankStock": {
     "auth_ref": [
      "r469"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Federal Home Loan Bank Stock"
       }
      }
     },
     "localname": "FederalHomeLoanBankStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancialInstrumentAxis": {
     "auth_ref": [
      "r206",
      "r207",
      "r222",
      "r223",
      "r224",
      "r227",
      "r228",
      "r241",
      "r243",
      "r244",
      "r245",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of financial instrument.",
        "label": "Financial Instrument [Axis]"
       }
      }
     },
     "localname": "FinancialInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]",
        "terseLabel": "Financial assets"
       }
      }
     },
     "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancialInstrumentsFinancialLiabilitiesBalanceSheetGroupingsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instruments, Financial Liabilities, Balance Sheet Groupings [Abstract]",
        "terseLabel": "Financial liabilities"
       }
      }
     },
     "localname": "FinancialInstrumentsFinancialLiabilitiesBalanceSheetGroupingsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment": {
     "auth_ref": [
      "r167"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The valuation allowance for financing receivables that are expected to be uncollectible that were collectively evaluated for impairment.",
        "label": "Financing Receivable, Allowance for Credit Losses, Collectively Evaluated for Impairment",
        "verboseLabel": "Allowance Collectively Evaluated for Impairment"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1": {
     "auth_ref": [
      "r167"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of valuation allowance for financing receivables that are expected to be uncollectible that were individually evaluated for impairment.",
        "label": "Financing Receivable, Allowance for Credit Losses, Individually Evaluated for Impairment",
        "verboseLabel": "Allowance Individually Evaluated for Impairment"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Financing Receivable, Allowance for Credit Losses [Line Items]"
       }
      }
     },
     "localname": "FinancingReceivableAllowanceForCreditLossesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment": {
     "auth_ref": [
      "r168"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The balance of financing receivables that were collectively evaluated for impairment.",
        "label": "Financing Receivable, Collectively Evaluated for Impairment",
        "terseLabel": "Loans Collectively Evaluated for Impairment"
       }
      }
     },
     "localname": "FinancingReceivableCollectivelyEvaluatedForImpairment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableCreditQualityIndicatorsTableTextBlock": {
     "auth_ref": [
      "r177",
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Financing Receivable Credit Quality Indicators [Table Text Block]",
        "verboseLabel": "Schedule of information on the risk rating of loans"
       }
      }
     },
     "localname": "FinancingReceivableCreditQualityIndicatorsTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_FinancingReceivableImpairedLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Financing Receivable, Impaired [Line Items]"
       }
      }
     },
     "localname": "FinancingReceivableImpairedLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment": {
     "auth_ref": [
      "r168"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The balance of financing receivables that were individually evaluated for impairment.",
        "label": "Financing Receivable, Individually Evaluated for Impairment",
        "terseLabel": "Loans Individually Evaluated for Impairment"
       }
      }
     },
     "localname": "FinancingReceivableIndividuallyEvaluatedForImpairment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableModificationsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Financing Receivable, Modifications [Line Items]"
       }
      }
     },
     "localname": "FinancingReceivableModificationsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivableModificationsNumberOfContracts2": {
     "auth_ref": [
      "r179"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of financing receivables that have been modified by troubled debt restructurings.",
        "label": "Financing Receivable, Modifications, Number of Contracts",
        "verboseLabel": "Number of Loans"
       }
      }
     },
     "localname": "FinancingReceivableModificationsNumberOfContracts2",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_FinancingReceivableModificationsPostModificationRecordedInvestment2": {
     "auth_ref": [
      "r179"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after troubled debt restructuring, of modified financing receivable.",
        "label": "Financing Receivable, Modifications, Post-Modification Recorded Investment",
        "verboseLabel": "Post-Modification Recorded Investment"
       }
      }
     },
     "localname": "FinancingReceivableModificationsPostModificationRecordedInvestment2",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableModificationsPreModificationRecordedInvestment2": {
     "auth_ref": [
      "r179"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before troubled debt restructuring, of financing receivable to be modified.",
        "label": "Financing Receivable, Modifications, Pre-Modification Recorded Investment",
        "verboseLabel": "Pre-Modification Recorded Investment"
       }
      }
     },
     "localname": "FinancingReceivableModificationsPreModificationRecordedInvestment2",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableModificationsRecordedInvestment": {
     "auth_ref": [
      "r179",
      "r192"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of financing receivable modified as troubled debt restructuring.",
        "label": "Financing Receivable, Modifications, Recorded Investment",
        "verboseLabel": "Recorded Investment"
       }
      }
     },
     "localname": "FinancingReceivableModificationsRecordedInvestment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1": {
     "auth_ref": [
      "r180"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of financing receivable contracts modified as troubled debt restructuring within previous 12 months, with subsequent payment default.",
        "label": "Financing Receivable, Troubled Debt Restructuring, Subsequent Default, Number of Contracts",
        "terseLabel": "Defaults on TDRs that were modified as TDRs"
       }
      }
     },
     "localname": "FinancingReceivableModificationsSubsequentDefaultNumberOfContracts1",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_FinancingReceivablePortfolioSegmentAxis": {
     "auth_ref": [
      "r222",
      "r223",
      "r229"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by the level at which an entity develops and documents a systematic methodology to determine its allowance for credit losses.",
        "label": "Financing Receivable Portfolio Segment [Axis]"
       }
      }
     },
     "localname": "FinancingReceivablePortfolioSegmentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivablePortfolioSegmentDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Level at which an entity develops and documents a systematic methodology to determine its allowance for credit losses.",
        "label": "Financing Receivable Portfolio Segment [Domain]",
        "terseLabel": "Financing Receivable Portfolio Segment [Domain]"
       }
      }
     },
     "localname": "FinancingReceivablePortfolioSegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing": {
     "auth_ref": [
      "r184",
      "r226",
      "r236"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of financing receivable 90 days or more past due and still accruing.",
        "label": "Financing Receivable, Recorded Investment, 90 Days Past Due and Still Accruing",
        "terseLabel": "Recorded Investment, 90 Days and Accruing"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis": {
     "auth_ref": [
      "r178",
      "r185",
      "r186",
      "r224",
      "r227",
      "r228",
      "r230",
      "r231",
      "r235",
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Class of Financing Receivable, Type [Axis]"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails",
      "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing receivables determined on the basis of initial measurement attribute, risk characteristics and method of monitoring and assessing credit risk.",
        "label": "Financing Receivable Recorded Investment Class Of Financing Receivable [Domain]",
        "terseLabel": "Class of Financing Receivable, Type [Domain]"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails",
      "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentCurrent": {
     "auth_ref": [
      "r186",
      "r224",
      "r236"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of financing receivable not past due.",
        "label": "Financing Receivable, Recorded Investment, Current",
        "terseLabel": "Current"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentCurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Financing Receivable, Recorded Investment [Line Items]"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus": {
     "auth_ref": [
      "r183",
      "r225"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of financing receivable on nonaccrual status.",
        "label": "Financing Receivable, Recorded Investment, Nonaccrual Status",
        "terseLabel": "Total loans"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentNonaccrualStatus",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentPastDue": {
     "auth_ref": [
      "r186",
      "r224",
      "r236"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of financing receivable past due.",
        "label": "Financing Receivable, Recorded Investment, Past Due",
        "terseLabel": "Financing Receivable, Recorded Investment, Past Due"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentPastDue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Financing Receivable, Recorded Investment, Past Due [Line Items]"
       }
      }
     },
     "localname": "FinancingReceivableRecordedInvestmentPastDueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivables30To59DaysPastDueMember": {
     "auth_ref": [
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial asset more than 29 days past due but fewer than 60 days past due.",
        "label": "Financing Receivables30 To59 Days Past Due [Member]",
        "terseLabel": "Financing Receivables, 30 to 59 Days Past Due [Member]"
       }
      }
     },
     "localname": "FinancingReceivables30To59DaysPastDueMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancingReceivables60To89DaysPastDueMember": {
     "auth_ref": [
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial asset more than 59 days past due but fewer than 90 days past due.",
        "label": "Financing Receivables60 To89 Days Past Due [Member]",
        "terseLabel": "Financing Receivables, 60 to 89 Days Past Due [Member]"
       }
      }
     },
     "localname": "FinancingReceivables60To89DaysPastDueMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancingReceivablesEqualToGreaterThan90DaysPastDueMember": {
     "auth_ref": [
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financial asset equal to or greater than 90 days past due.",
        "label": "Financing Receivables Equal To Greater Than90 Days Past Due [Member]",
        "terseLabel": "Financing Receivables, Equal to Greater than 90 Days Past Due [Member]"
       }
      }
     },
     "localname": "FinancingReceivablesEqualToGreaterThan90DaysPastDueMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_FinancingReceivablesPeriodPastDueAxis": {
     "auth_ref": [
      "r224",
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by time period financial asset is past due.",
        "label": "Financing Receivables, Period Past Due [Axis]"
       }
      }
     },
     "localname": "FinancingReceivablesPeriodPastDueAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FinancingReceivablesPeriodPastDueDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Period in which financial asset is 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.",
        "label": "Financing Receivables Period Past Due [Domain]",
        "terseLabel": "Financing Receivables, Period Past Due [Domain]"
       }
      }
     },
     "localname": "FinancingReceivablesPeriodPastDueDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GainLossOnSalesOfLoansNet": {
     "auth_ref": [
      "r83",
      "r450",
      "r495"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Gain on sale 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.",
        "label": "Gain (Loss) on Sales of Loans, Net"
       }
      }
     },
     "localname": "GainLossOnSalesOfLoansNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GainsLossesOnSalesOfOtherRealEstate": {
     "auth_ref": [
      "r453"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Gains (Losses) on Sales of Other Real Estate",
        "negatedTerseLabel": "Gain on sale of real estate owned"
       }
      }
     },
     "localname": "GainsLossesOnSalesOfOtherRealEstate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GeographicDistributionAxis": {
     "auth_ref": [
      "r232",
      "r460",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by geographic distribution of business activity identified as either domestic or foreign. Excludes names of countries, states and provinces, and cities.",
        "label": "Geographic Distribution [Axis]"
       }
      }
     },
     "localname": "GeographicDistributionAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_GeographicDistributionDomain": {
     "auth_ref": [
      "r460",
      "r461"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allocation of business activity identified as domestic or foreign. Excludes names of countries, states and provinces, and cities.",
        "label": "Geographic Distribution [Domain]",
        "terseLabel": "Geographic Distribution [Domain]"
       }
      }
     },
     "localname": "GeographicDistributionDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_GeographicDistributionDomesticMember": {
     "auth_ref": [
      "r233"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Allocation of business activity identified as domestic.",
        "label": "Geographic Distribution Domestic [Member]",
        "terseLabel": "Geographic Distribution, Domestic [Member]"
       }
      }
     },
     "localname": "GeographicDistributionDomesticMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_HomeEquityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revolving, open-end loan extended under a line of credit and secured by the borrower's residential property.",
        "label": "Home Equity [Member]",
        "terseLabel": "Home equity lines [Member]"
       }
      }
     },
     "localname": "HomeEquityMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment": {
     "auth_ref": [
      "r173",
      "r176"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Average amount of investment of impaired financing receivables with related allowance for credit losses and without a related allowance for credit losses.",
        "label": "Impaired Financing Receivable, Average Recorded Investment",
        "terseLabel": "Average Recorded Investment"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableAverageRecordedInvestment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod": {
     "auth_ref": [
      "r174"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Impaired Financing Receivable, Interest Income, Accrual Method",
        "terseLabel": "Interest Income Recognized"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableInterestIncomeAccrualMethod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableRecordedInvestment": {
     "auth_ref": [
      "r170"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment of impaired financing receivables with related allowance for credit losses and without a related allowance for credit losses.",
        "label": "Impaired Financing Receivable, Recorded Investment",
        "terseLabel": "Recorded Investment"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableRecordedInvestment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableRelatedAllowance": {
     "auth_ref": [
      "r171"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit losses related to recorded investment.",
        "label": "Impaired Financing Receivable, Related Allowance",
        "terseLabel": "Related Allowance"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableRelatedAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance": {
     "auth_ref": [
      "r172"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unpaid principal balance of impaired financing receivables with related allowance for credit losses and without related allowance for credit losses.",
        "label": "Impaired Financing Receivable, Unpaid Principal Balance",
        "terseLabel": "Unpaid Principal Balance"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableUnpaidPrincipalBalance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment": {
     "auth_ref": [
      "r173",
      "r176"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of average investment of impaired financing receivables for which there is no related allowance for credit losses.",
        "label": "Impaired Financing Receivable, with No Related Allowance, Average Recorded Investment",
        "terseLabel": "Average Recorded Investment"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod": {
     "auth_ref": [
      "r174"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Impaired Financing Receivable, with No Related Allowance, Interest Income, Accrual Method",
        "terseLabel": "Interest Income Recognized"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment": {
     "auth_ref": [
      "r170"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in impaired financing receivables for which there is no related allowance for credit losses.",
        "label": "Impaired Financing Receivable, with No Related Allowance, Recorded Investment",
        "terseLabel": "Recorded Investment"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance": {
     "auth_ref": [
      "r172"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unpaid principal balance of impaired financing receivables for which there is no related allowance for credit losses.",
        "label": "Impaired Financing Receivable, with No Related Allowance, Unpaid Principal Balance",
        "terseLabel": "Unpaid Principal Balance"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment": {
     "auth_ref": [
      "r173",
      "r176"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of average investment of impaired financing receivables for which there is a related allowance for credit losses.",
        "label": "Impaired Financing Receivable, with Related Allowance, Average Recorded Investment",
        "terseLabel": "Average Recorded Investment"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod": {
     "auth_ref": [
      "r174"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Impaired Financing Receivable, with Related Allowance, Interest Income, Accrual Method",
        "terseLabel": "Interest Income Recognized"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment": {
     "auth_ref": [
      "r170"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of investment in impaired financing receivables for which there is a related allowance for credit losses.",
        "label": "Impaired Financing Receivable, with Related Allowance, Recorded Investment",
        "terseLabel": "Recorded Investment"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance": {
     "auth_ref": [
      "r172"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Unpaid principal balance of impaired financing receivables for which there is a related allowance for credit losses.",
        "label": "Impaired Financing Receivable, with Related Allowance, Unpaid Principal Balance",
        "terseLabel": "Unpaid Principal Balance"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ImpairedFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of impaired financing receivables.",
        "label": "Impaired Financing Receivables [Table Text Block]",
        "verboseLabel": "Schedule of impaired loans"
       }
      }
     },
     "localname": "ImpairedFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ImpairmentOfRealEstate": {
     "auth_ref": [
      "r83",
      "r249"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The charge against earnings in the period to reduce the carrying amount of real property to fair value.",
        "label": "Impairment of Real Estate",
        "verboseLabel": "Write-down of other real estate owned"
       }
      }
     },
     "localname": "ImpairmentOfRealEstate",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": {
     "auth_ref": [
      "r91",
      "r139",
      "r145",
      "r149",
      "r152",
      "r155"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.",
        "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest",
        "terseLabel": "Income before income taxes",
        "totalLabel": "Income before income tax expense"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Income"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r88",
      "r109",
      "r110",
      "r137",
      "r318",
      "r326",
      "r330",
      "r494"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Income tax expense"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedInterestReceivableNet": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 19.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the amount due from borrowers for interest payments.",
        "label": "Increase (Decrease) in Accrued Interest Receivable, Net",
        "negatedLabel": "Interest receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedInterestReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInDeposits": {
     "auth_ref": [
      "r85",
      "r459"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net cash inflow or outflow for the increase (decrease) in the beginning and end of period deposits balances.",
        "label": "Increase (Decrease) in Deposits",
        "verboseLabel": "Net increase in deposits"
       }
      }
     },
     "localname": "IncreaseDecreaseInDeposits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInInterestPayableNet": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 17.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Increase (Decrease) in Interest Payable, Net",
        "verboseLabel": "Interest payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInInterestPayableNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingLiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Operating Liabilities [Abstract]",
        "verboseLabel": "Net change in:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 16.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating assets classified as other.",
        "label": "Increase (Decrease) in Other Operating Assets",
        "negatedLabel": "Other assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingLiabilities": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 18.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase (decrease) in operating liabilities classified as other.",
        "label": "Increase (Decrease) in Other Operating Liabilities",
        "verboseLabel": "Other liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOtherOperatingLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestAndDividendIncomeOperating": {
     "auth_ref": [
      "r446"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_InterestIncomeExpenseNet",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "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.",
        "label": "Interest and Dividend Income, Operating",
        "totalLabel": "Total interest income"
       }
      }
     },
     "localname": "InterestAndDividendIncomeOperating",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestAndDividendIncomeOperatingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest and Dividend Income, Operating [Abstract]",
        "verboseLabel": "Interest income"
       }
      }
     },
     "localname": "InterestAndDividendIncomeOperatingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestAndDividendIncomeSecurities": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_InterestAndDividendIncomeOperating",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating dividend and interest income, including amortization and accretion of premiums and discounts, on securities.",
        "label": "Interest and Dividend Income, Securities, Operating",
        "verboseLabel": "Investment securities"
       }
      }
     },
     "localname": "InterestAndDividendIncomeSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestAndFeeIncomeLoansAndLeases": {
     "auth_ref": [
      "r445"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_InterestAndDividendIncomeOperating",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Interest and Fee Income, Loans and Leases",
        "terseLabel": "SBA fee earned",
        "verboseLabel": "Loans"
       }
      }
     },
     "localname": "InterestAndFeeIncomeLoansAndLeases",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestBearingDepositLiabilitiesDomestic": {
     "auth_ref": [
      "r432"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_Deposits",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total amount of interest-bearing domestic deposit liabilities, which may include brokered, retail, demand, checking, notice of withdrawal, money market and other interest-bearing deposits.",
        "label": "Interest-bearing Deposit Liabilities, Domestic",
        "verboseLabel": "Interest bearing"
       }
      }
     },
     "localname": "InterestBearingDepositLiabilitiesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestBearingDomesticDepositChecking": {
     "auth_ref": [
      "r432"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest-bearing domestic checking deposit liabilities.",
        "label": "Interest-bearing Domestic Deposit, Checking",
        "verboseLabel": "Interest checking accounts"
       }
      }
     },
     "localname": "InterestBearingDomesticDepositChecking",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestBearingDomesticDepositMoneyMarket": {
     "auth_ref": [
      "r432"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest-bearing domestic money market demand account deposit liabilities.",
        "label": "Interest-bearing Domestic Deposit, Money Market",
        "verboseLabel": "Money market accounts"
       }
      }
     },
     "localname": "InterestBearingDomesticDepositMoneyMarket",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestBearingDomesticDepositOtherTimeDeposit": {
     "auth_ref": [
      "r432"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest-bearing domestic deposit liabilities classified as other. Excludes certificates of deposit.",
        "label": "Interest-bearing Domestic Deposit, Other Time Deposit",
        "verboseLabel": "Other time deposits"
       }
      }
     },
     "localname": "InterestBearingDomesticDepositOtherTimeDeposit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestBearingDomesticDepositSavings": {
     "auth_ref": [
      "r432"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest-bearing domestic savings deposit liabilities. Saving deposits bear interest and have no stated maturity.",
        "label": "Interest-bearing Domestic Deposit, Savings",
        "verboseLabel": "Savings accounts"
       }
      }
     },
     "localname": "InterestBearingDomesticDepositSavings",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpense": {
     "auth_ref": [
      "r54",
      "r133",
      "r373",
      "r376",
      "r458"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_InterestIncomeExpenseNet",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "disclosureGuidance": "Interest expense",
        "documentation": "Amount of the cost of borrowed funds accounted for as interest expense.",
        "label": "Interest Expense",
        "totalLabel": "Total interest expense"
       }
      }
     },
     "localname": "InterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Expense [Abstract]",
        "verboseLabel": "Interest expense"
       }
      }
     },
     "localname": "InterestExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InterestExpenseBorrowings": {
     "auth_ref": [
      "r457"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_InterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate amount of interest expense on all borrowings.",
        "label": "Interest Expense, Borrowings",
        "verboseLabel": "Borrowed funds"
       }
      }
     },
     "localname": "InterestExpenseBorrowings",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestExpenseDeposits": {
     "auth_ref": [
      "r456"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_InterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Aggregate amount of interest expense on all deposits.",
        "label": "Interest Expense, Deposits",
        "verboseLabel": "Deposits"
       }
      }
     },
     "localname": "InterestExpenseDeposits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseAfterProvisionForLoanLoss": {
     "auth_ref": [
      "r449"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Interest Income (Expense), after Provision for Loan Loss",
        "totalLabel": "Net interest income after provision for (recovery of) loan losses"
       }
      }
     },
     "localname": "InterestIncomeExpenseAfterProvisionForLoanLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "auth_ref": [
      "r447"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_InterestIncomeExpenseAfterProvisionForLoanLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net amount of operating interest income (expense).",
        "label": "Interest Income (Expense), Net",
        "totalLabel": "Net interest income"
       }
      }
     },
     "localname": "InterestIncomeExpenseNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestIncomeFederalFundsSold": {
     "auth_ref": [
      "r455"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_InterestAndDividendIncomeOperating",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest income on federal funds sold. Federal funds sold represent the excess federal funds held by one commercial bank which it lends to another commercial bank, usually at an agreed-upon (federal funds) rate of interest. Such loans generally are of short-duration (overnight).",
        "label": "Interest Income, Federal Funds Sold",
        "verboseLabel": "Federal funds sold"
       }
      }
     },
     "localname": "InterestIncomeFederalFundsSold",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPaidNet": {
     "auth_ref": [
      "r74",
      "r79",
      "r86"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Interest Paid, Net",
        "terseLabel": "Cash payments for interest"
       }
      }
     },
     "localname": "InterestPaidNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestPayableCurrentAndNoncurrent": {
     "auth_ref": [
      "r435",
      "r488"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of interest payable on debt, including, but not limited to, trade payables.",
        "label": "Interest Payable",
        "verboseLabel": "Accrued interest payable"
       }
      }
     },
     "localname": "InterestPayableCurrentAndNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestReceivable": {
     "auth_ref": [
      "r31"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 9.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.",
        "label": "Interest Receivable",
        "verboseLabel": "Accrued interest receivable"
       }
      }
     },
     "localname": "InterestReceivable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InternalCreditAssessmentAxis": {
     "auth_ref": [
      "r177",
      "r228",
      "r234",
      "r235",
      "r259",
      "r346"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by entity-defined rating.",
        "label": "Internal Credit Assessment [Axis]"
       }
      }
     },
     "localname": "InternalCreditAssessmentAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InternalCreditAssessmentDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entity defined credit risk rating.",
        "label": "Internal Credit Assessment [Domain]",
        "terseLabel": "Internal Credit Assessment [Domain]"
       }
      }
     },
     "localname": "InternalCreditAssessmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InvestmentInFederalHomeLoanBankStockFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of investments in Federal Home Loan Bank (FHLBank) stock.",
        "label": "Investment in Federal Home Loan Bank Stock, Fair Value Disclosure",
        "terseLabel": "Federal Home Loan Bank stock"
       }
      }
     },
     "localname": "InvestmentInFederalHomeLoanBankStockFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentOwnedRestrictedCost": {
     "auth_ref": [
      "r516",
      "r526"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cost of the restricted investment.",
        "label": "Investment Owned, Restricted, Cost",
        "terseLabel": "Restricted stock, at cost"
       }
      }
     },
     "localname": "InvestmentOwnedRestrictedCost",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InvestmentTypeAxis": {
     "auth_ref": [
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of investments.",
        "label": "Investment Type [Axis]"
       }
      }
     },
     "localname": "InvestmentTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "auth_ref": [
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r525",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Asset obtained to generate income or appreciate in value.",
        "label": "Investment Type Categorization [Member]",
        "terseLabel": "Investments [Domain]"
       }
      }
     },
     "localname": "InvestmentTypeCategorizationMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of maturities of an entity's investments as well as any other information pertinent to the investments.",
        "label": "Investments Classified by Contractual Maturity Date [Table Text Block]",
        "verboseLabel": "Schedule of investment by contractual maturity"
       }
      }
     },
     "localname": "InvestmentsClassifiedByContractualMaturityDateTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment securities available for sale"
       }
      }
     },
     "localname": "InvestmentsDebtAndEquitySecuritiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock": {
     "auth_ref": [
      "r214",
      "r421",
      "r468",
      "r533"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for  investments in certain debt and equity securities.",
        "label": "Investments in Debt and Marketable Equity Securities (and Certain Trading Assets) Disclosure [Text Block]",
        "verboseLabel": "Investment securities available for sale"
       }
      }
     },
     "localname": "InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSale"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_JuniorSubordinatedNotes": {
     "auth_ref": [
      "r9",
      "r427",
      "r479"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Including the current and noncurrent portions, carrying value as of the balance sheet date of long-term debt (with maturities initially due after one year or beyond the operating cycle if longer) identified as Junior Subordinated Notes, which have a lower priority than senior instruments.",
        "label": "Junior Subordinated Notes",
        "terseLabel": "Trust preferred capital notes",
        "verboseLabel": "Long-term debt - trust preferred securities"
       }
      }
     },
     "localname": "JuniorSubordinatedNotes",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LaborAndRelatedExpense": {
     "auth_ref": [
      "r63"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "disclosureGuidance": "Salaries and benefits",
        "documentation": "Amount of expense for salary, wage, profit sharing; incentive and equity-based compensation; and other employee benefit.",
        "label": "Labor and Related Expense",
        "terseLabel": "Salaries and benefits"
       }
      }
     },
     "localname": "LaborAndRelatedExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeverageRatiosAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leverage Ratios [Abstract]",
        "verboseLabel": "Leverage ratio (Tier 1 capital to average assets), Ratio"
       }
      }
     },
     "localname": "LeverageRatiosAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_Liabilities": {
     "auth_ref": [
      "r22",
      "r87",
      "r147",
      "r215",
      "r335",
      "r338",
      "r339",
      "r364"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.",
        "label": "Liabilities",
        "totalLabel": "Total liabilities"
       }
      }
     },
     "localname": "Liabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities [Abstract]",
        "verboseLabel": "Liabilities"
       }
      }
     },
     "localname": "LiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r19",
      "r87",
      "r215",
      "r364",
      "r428",
      "r486"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and shareholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "verboseLabel": "Liabilities and Shareholders' Equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "auth_ref": [
      "r21"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "terseLabel": "Current borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r21"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Line Of Credit [Member]",
        "terseLabel": "Line of Credit [Member]"
       }
      }
     },
     "localname": "LineOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LoansAndLeasesReceivableAllowance": {
     "auth_ref": [
      "r163",
      "r167",
      "r188",
      "r191"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_LoansAndLeasesReceivableNetReportedAmount",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance to cover probable credit losses on loans and leases. Includes carryover of or adjustments to the allowance for loan losses in connection with business combinations. Excludes allowance for loans and leases covered under loss sharing agreements.",
        "label": "Loans and Leases Receivable, Allowance",
        "negatedLabel": "Allowance for loan losses",
        "negatedTerseLabel": "Less: allowance for loan losses",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance",
        "terseLabel": "Allowance Ending Balance"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableAllowance",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansAndLeasesReceivableDeferredIncome": {
     "auth_ref": [
      "r181",
      "r190",
      "r379",
      "r439"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of deferred interest and fee income, unamortized costs incurred to originate loans and leases, unamortized loan commitments and loan syndication fees, and premiums over or discounts from face amounts of acquired loans. Excludes amounts for loans and leases covered under loss sharing agreements.",
        "label": "Loans and Leases Receivable, Deferred Income",
        "negatedTerseLabel": "Deferred fees and costs, net"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableDeferredIncome",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansAndLeasesReceivableGrossCarryingAmount": {
     "auth_ref": [
      "r162"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_LoansAndLeasesReceivableNetReportedAmount",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Loans Ending Balance",
        "disclosureGuidance": "Total loans",
        "documentation": "Amount before allowance of loans and leases held in portfolio, including but not limited to, commercial and consumer loans. Includes deferred interest and fees, undisbursed portion of loan balance, unamortized costs and premiums and discounts from face amounts. Excludes loans and leases covered under loss sharing agreements.",
        "label": "Loans and Leases Receivable, Gross",
        "terseLabel": "Total loans",
        "verboseLabel": "Outstandings"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableGrossCarryingAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansAndLeasesReceivableNetReportedAmount": {
     "auth_ref": [
      "r162",
      "r439"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allowance and deduction of deferred interest and fees, unamortized costs and premiums and discounts from face amounts, of loans and leases held in portfolio, including but not limited to, commercial and consumer loans. Excludes loans and leases covered under loss sharing agreements and loans held for sale.",
        "label": "Loans and Leases Receivable, Net Amount",
        "terseLabel": "Total loans, net",
        "totalLabel": "Total loans, net",
        "verboseLabel": "Loan amount"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableNetReportedAmount",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansAndLeasesReceivableNetReportedAmountAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loans and Leases Receivable, Net Amount [Abstract]",
        "verboseLabel": "Loans"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableNetReportedAmountAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LoansHeldForSaleFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of loans held-for-sale including, but not limited to, mortgage loans and finance receivables.",
        "label": "Loans Held-for-sale, Fair Value Disclosure",
        "netLabel": "Fair value of LHFS",
        "terseLabel": "Loans held for sale"
       }
      }
     },
     "localname": "LoansHeldForSaleFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails",
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "auth_ref": [
      "r189"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "terseLabel": "Loans and allowance for loan losses"
       }
      }
     },
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLosses"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LoansPledgedAsCollateral": {
     "auth_ref": [
      "r182",
      "r398"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of loans that have been pledged as collateral for borrowings. If the secured party has the right by contract or custom to sell or re-pledge the collateral, then the debtor reclassifies that asset and report that asset in its statement of financial position separately from other assets not so encumbered.",
        "label": "Loans Pledged as Collateral"
       }
      }
     },
     "localname": "LoansPledgedAsCollateral",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansReceivableFairValueDisclosure": {
     "auth_ref": [
      "r189"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Loans Receivable, Fair Value Disclosure",
        "terseLabel": "Loans"
       }
      }
     },
     "localname": "LoansReceivableFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LoansReceivableHeldForSaleNetNotPartOfDisposalGroup": {
     "auth_ref": [
      "r162",
      "r536"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Loans Receivable Held-for-sale, Net, Not Part of Disposal Group",
        "verboseLabel": "Loans held for sale"
       }
      }
     },
     "localname": "LoansReceivableHeldForSaleNetNotPartOfDisposalGroup",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate L I B O R [Member]",
        "terseLabel": "LIBOR [Member]"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongtermDebtTypeAxis": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of long-term debt.",
        "label": "Long-term Debt, Type [Axis]"
       }
      }
     },
     "localname": "LongtermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails",
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LongtermDebtTypeDomain": {
     "auth_ref": [
      "r28",
      "r261"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Longterm Debt Type [Domain]",
        "terseLabel": "Long-term Debt, Type [Domain]"
       }
      }
     },
     "localname": "LongtermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails",
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MarketingAndAdvertisingExpense": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 6.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The total expense recognized in the period for promotion, public relations, and brand or product advertising.",
        "label": "Marketing and Advertising Expense",
        "terseLabel": "Advertising and marketing"
       }
      }
     },
     "localname": "MarketingAndAdvertisingExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MortgageBackedSecuritiesMember": {
     "auth_ref": [
      "r195",
      "r274",
      "r275",
      "r284",
      "r512"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Securities collateralized by mortgage loans.",
        "label": "Mortgage Backed Securities [Member]",
        "terseLabel": "Mortgage Backed Securities [Member]"
       }
      }
     },
     "localname": "MortgageBackedSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MunicipalNotesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Short-term debt securities issued by state, city or local governments or the agencies operated by state, city or local governments.",
        "label": "Municipal Notes [Member]",
        "terseLabel": "Municipals [Member]"
       }
      }
     },
     "localname": "MunicipalNotesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "verboseLabel": "Cash Flows from Financing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r77"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "verboseLabel": "Cash Flows from Investing Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r77",
      "r81",
      "r84"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by (used in) operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Cash Flows from Operating Activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r1",
      "r46",
      "r49",
      "r56",
      "r84",
      "r87",
      "r98",
      "r103",
      "r104",
      "r105",
      "r106",
      "r109",
      "r110",
      "r115",
      "r139",
      "r145",
      "r149",
      "r152",
      "r155",
      "r215",
      "r364",
      "r441",
      "r489"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      },
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net income - basic and diluted"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails",
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetIncomeLossAvailableToCommonStockholdersBasicAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss) Available to Common Stockholders, Basic [Abstract]",
        "verboseLabel": "Numerator"
       }
      }
     },
     "localname": "NetIncomeLossAvailableToCommonStockholdersBasicAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": {
     "auth_ref": [
      "r97",
      "r98",
      "r99",
      "r100",
      "r101",
      "r102",
      "r105",
      "r122",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r322",
      "r323",
      "r324",
      "r325",
      "r418",
      "r419",
      "r420",
      "r500",
      "r501",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r507",
      "r508",
      "r509",
      "r510",
      "r511"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.",
        "label": "Accounting Standards Update and Change in Accounting Principle [Table]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoninterestBearingDepositLiabilitiesDomestic": {
     "auth_ref": [
      "r432"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 1.0,
       "parentTag": "us-gaap_Deposits",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of domestic noninterest-bearing deposits held by the entity, which may include demand deposits, checking, brokered and retail deposits.",
        "label": "Noninterest-bearing Deposit Liabilities, Domestic",
        "verboseLabel": "Noninterest bearing demand"
       }
      }
     },
     "localname": "NoninterestBearingDepositLiabilitiesDomestic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoninterestBearingDomesticDepositDemand": {
     "auth_ref": [
      "r432"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of money in noninterest-bearing domestic accounts that entitle the depositor to withdraw funds at any time without prior notice, also known as demand deposits.",
        "label": "Noninterest-bearing Domestic Deposit, Demand",
        "verboseLabel": "Demand accounts"
       }
      }
     },
     "localname": "NoninterestBearingDomesticDepositDemand",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoninterestExpense": {
     "auth_ref": [
      "r454"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total aggregate amount of all noninterest expense.",
        "label": "Noninterest Expense",
        "totalLabel": "Total noninterest expense"
       }
      }
     },
     "localname": "NoninterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoninterestExpenseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest Expense [Abstract]",
        "verboseLabel": "Noninterest expense"
       }
      }
     },
     "localname": "NoninterestExpenseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoninterestExpenseCommissionExpense": {
     "auth_ref": [
      "r454"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "disclosureGuidance": "Commissions",
        "documentation": "Amount of fees incurred for commissions on mutual funds and insurance products.",
        "label": "Noninterest Expense Commission Expense"
       }
      }
     },
     "localname": "NoninterestExpenseCommissionExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoninterestIncome": {
     "auth_ref": [
      "r451"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Noninterest Income",
        "totalLabel": "Total noninterest income"
       }
      }
     },
     "localname": "NoninterestIncome",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NoninterestIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noninterest Income [Abstract]",
        "verboseLabel": "Noninterest income"
       }
      }
     },
     "localname": "NoninterestIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NoninterestIncomeOtherOperatingIncome": {
     "auth_ref": [
      "r53",
      "r440",
      "r493"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue earned, classified as other, excluding interest income.",
        "label": "Noninterest Income, Other Operating Income",
        "verboseLabel": "Other"
       }
      }
     },
     "localname": "NoninterestIncomeOtherOperatingIncome",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NonperformingFinancingReceivableMember": {
     "auth_ref": [
      "r177",
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Nonperforming Financing Receivable [Member]",
        "terseLabel": "Nonperforming Financial Instruments [Member]"
       }
      }
     },
     "localname": "NonperformingFinancingReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [
      "r127"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Number of Reportable Segments"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OccupancyNet": {
     "auth_ref": [
      "r66",
      "r378",
      "r452"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Occupancy, Net",
        "terseLabel": "Occupancy"
       }
      }
     },
     "localname": "OccupancyNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpenses": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "disclosureGuidance": "Total operating expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.",
        "label": "Operating Expenses"
       }
      }
     },
     "localname": "OperatingExpenses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingExpensesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "disclosureGuidance": "Expenses",
        "label": "Operating Expenses [Abstract]"
       }
      }
     },
     "localname": "OperatingExpensesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "auth_ref": [
      "r2",
      "r340"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "verboseLabel": "Principles of presentation"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosurePrinciplesOfPresentation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssets": {
     "auth_ref": [
      "r6",
      "r423",
      "r481"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 10.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of assets classified as other.",
        "label": "Other Assets.",
        "verboseLabel": "Other assets"
       }
      }
     },
     "localname": "OtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsMember": {
     "auth_ref": [
      "r344",
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other assets.",
        "label": "Other Assets [Member]",
        "terseLabel": "Other Assets"
       }
      }
     },
     "localname": "OtherAssetsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r47",
      "r50",
      "r52",
      "r57",
      "r265",
      "r366",
      "r371",
      "r372",
      "r442",
      "r490"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).",
        "label": "Other Comprehensive Income (Loss), Net of Tax",
        "totalLabel": "Total other comprehensive income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]",
        "verboseLabel": "Other comprehensive income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": {
     "auth_ref": [
      "r47",
      "r50",
      "r332",
      "r333",
      "r336"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.",
        "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent",
        "terseLabel": "Other comprehensive income (loss)"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax": {
     "auth_ref": [
      "r37",
      "r39",
      "r281",
      "r284"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, before tax, after reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, before Tax",
        "negatedLabel": "Minimum pension adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax": {
     "auth_ref": [
      "r37",
      "r39"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 3.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, after Tax",
        "negatedTotalLabel": "Minimum pension adjustment, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax": {
     "auth_ref": [
      "r37",
      "r40",
      "r332"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after reclassification adjustment, of tax (expense) benefit for (increase) decrease in accumulated other comprehensive income of defined benefit plan.",
        "label": "Other Comprehensive (Income) Loss, Defined Benefit Plan, after Reclassification Adjustment, Tax",
        "verboseLabel": "Tax effect"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax": {
     "auth_ref": [
      "r39",
      "r43",
      "r44",
      "r213"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, before Tax",
        "negatedLabel": "Reclassification adjustment for gains realized in income"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": {
     "auth_ref": [
      "r39",
      "r43",
      "r44",
      "r213"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.",
        "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax",
        "negatedTotalLabel": "Reclassification for gains included in net income, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax": {
     "auth_ref": [
      "r40",
      "r213"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Tax",
        "terseLabel": "Tax effect"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax": {
     "auth_ref": [
      "r35",
      "r39",
      "r213"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, before Tax",
        "terseLabel": "Unrealized holding gains (losses) arising during the period"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodBeforeTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "auth_ref": [
      "r35",
      "r39"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 1.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after tax and before 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.",
        "label": "Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Net of Tax",
        "totalLabel": "Net change in unrealized holding gains (losses) on securities available for sale, net of tax"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax": {
     "auth_ref": [
      "r36",
      "r40"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Tax",
        "negatedLabel": "Tax effect"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherExpenses": {
     "auth_ref": [
      "r65",
      "r496"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "disclosureGuidance": "Other expenses",
        "documentation": "Amount of expense classified as other.",
        "label": "Other Expenses"
       }
      }
     },
     "localname": "OtherExpenses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilities": {
     "auth_ref": [
      "r436"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of liabilities classified as other.",
        "label": "Other Liabilities.",
        "verboseLabel": "Other liabilities"
       }
      }
     },
     "localname": "OtherLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value portion of other liabilities.",
        "label": "Other Liabilities, Fair Value Disclosure",
        "terseLabel": "Other borrowings"
       }
      }
     },
     "localname": "OtherLiabilitiesFairValueDisclosure",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherLiabilitiesMember": {
     "auth_ref": [
      "r344",
      "r347"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Primary financial statement caption encompassing other liabilities.",
        "label": "Other Liabilities [Member]",
        "terseLabel": "Other Liabilities"
       }
      }
     },
     "localname": "OtherLiabilitiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OtherNoninterestExpense": {
     "auth_ref": [
      "r454"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 9.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noninterest expense classified as other.",
        "label": "Other Noninterest Expense",
        "terseLabel": "Other operating expense"
       }
      }
     },
     "localname": "OtherNoninterestExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherRealEstateAndForeclosedAssets": {
     "auth_ref": [
      "r431"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of other real estate and foreclosed assets. Other real estate may include 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. Foreclosed assets include all assets obtained in full or partial satisfaction of a debt arrangement through foreclosure proceedings.",
        "label": "Other Real Estate, Foreclosed Assets, and Repossessed Assets",
        "verboseLabel": "Other real estate owned, net of valuation allowance"
       }
      }
     },
     "localname": "OtherRealEstateAndForeclosedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ParticipatingMortgageLoansLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Participating Mortgage Loans [Line Items]"
       }
      }
     },
     "localname": "ParticipatingMortgageLoansLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ParticipatingMortgageLoansTable": {
     "auth_ref": [
      "r263"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table or schedule that describes the terms of and includes the amount of a participation in a loan arrangement.",
        "label": "Participating Mortgage Loans [Table]"
       }
      }
     },
     "localname": "ParticipatingMortgageLoansTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_PastDueFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r185",
      "r186",
      "r224",
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of aging analysis for financing receivable.",
        "label": "Past Due Financing Receivables [Table Text Block]",
        "verboseLabel": "Schedule of aging of recorded investment in past due loans and leases"
       }
      }
     },
     "localname": "PastDueFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_PaymentsForOriginationOfMortgageLoansHeldForSale": {
     "auth_ref": [
      "r75",
      "r80"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 13.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of cash paid for the origination of mortgages that are held for sale.",
        "label": "Payments for Origination of Mortgage Loans Held-for-sale",
        "negatedLabel": "Origination of mortgage loans held for sale"
       }
      }
     },
     "localname": "PaymentsForOriginationOfMortgageLoansHeldForSale",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForProceedsFromLoansAndLeases": {
     "auth_ref": [
      "r93"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payments for (Proceeds from) Loans and Leases",
        "negatedLabel": "Net decrease (increase) in loans"
       }
      }
     },
     "localname": "PaymentsForProceedsFromLoansAndLeases",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r67",
      "r70",
      "r194"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Payments to Acquire Available-for-sale Securities",
        "negatedLabel": "Purchases of available for sale securities"
       }
      }
     },
     "localname": "PaymentsToAcquireAvailableForSaleSecuritiesDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireLifeInsurancePolicies": {
     "auth_ref": [
      "r72",
      "r76"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payment to Acquire Life Insurance Policy, Investing Activities",
        "negatedLabel": "Purchase of bank owned life insurance"
       }
      }
     },
     "localname": "PaymentsToAcquireLifeInsurancePolicies",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r71"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Purchases of premises and equipment, net"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsChecking": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of interest-bearing domestic checking demand deposit liabilities to total deposit liabilities.",
        "label": "Percentage of Interest-bearing Domestic Deposits to Deposits, Checking",
        "verboseLabel": "Interest checking accounts(in hundredths)"
       }
      }
     },
     "localname": "PercentageOfInterestBearingDomesticDepositsToDepositsChecking",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsMoneyMarket": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of interest-bearing domestic money market demand account deposit liabilities to total deposit liabilities.",
        "label": "Percentage of Interest-bearing Domestic Deposits to Deposits, Money Market",
        "verboseLabel": "Money market accounts (in hundredths)"
       }
      }
     },
     "localname": "PercentageOfInterestBearingDomesticDepositsToDepositsMoneyMarket",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsOtherTimeDeposit": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of interest-bearing domestic time deposit liabilities other than certificates of deposit liabilities to total deposit liabilities.",
        "label": "Percentage of Interest-bearing Domestic Deposits to Deposits, Other Time Deposit",
        "verboseLabel": "Other time deposits (in hundredths)"
       }
      }
     },
     "localname": "PercentageOfInterestBearingDomesticDepositsToDepositsOtherTimeDeposit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsSavings": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of interest-bearing domestic savings deposit liabilities to total deposit liabilities.",
        "label": "Percentage of Interest-bearing Domestic Deposits to Deposits, Savings",
        "verboseLabel": "Savings account (in hundredths)"
       }
      }
     },
     "localname": "PercentageOfInterestBearingDomesticDepositsToDepositsSavings",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of interest-bearing domestic time deposit liabilities to total deposit liabilities.",
        "label": "Percentage of Interest-bearing Domestic Deposits to Deposits, Time Deposits",
        "verboseLabel": "Time deposits of $250,000 and over (in hundredths)"
       }
      }
     },
     "localname": "PercentageOfInterestBearingDomesticDepositsToDepositsTimeDeposits",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_PerformanceSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based payment arrangement awarded for meeting performance target.",
        "label": "Performance Shares [Member]",
        "terseLabel": "Performance Shares [Member]"
       }
      }
     },
     "localname": "PerformanceSharesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PerformingFinancingReceivableMember": {
     "auth_ref": [
      "r177",
      "r228"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Performing Financing Receivable [Member]",
        "terseLabel": "Performing Financing Receivable [Member]"
       }
      }
     },
     "localname": "PerformingFinancingReceivableMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PledgedFinancialInstrumentsNotSeparatelyReportedSecuritiesForFederalHomeLoanBank": {
     "auth_ref": [
      "r399"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The carrying amount as of the date of the latest financial statement presented of securities which are owned but transferred to serve as collateral for FHLB debt obligations, and for which the transferee does not have the right by contract or custom to sell or re-pledge them to an unrelated party.",
        "label": "Pledged Financial Instruments, Not Separately Reported, Securities for Federal Home Loan Bank",
        "verboseLabel": "Pledged Financial Instruments, Not Separately Reported, Securities for Federal Home Loan Bank"
       }
      }
     },
     "localname": "PledgedFinancialInstrumentsNotSeparatelyReportedSecuritiesForFederalHomeLoanBank",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PortionAtFairValueFairValueDisclosureMember": {
     "auth_ref": [
      "r360"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Measured at fair value for financial reporting purposes.",
        "label": "Portion At Fair Value Fair Value Disclosure [Member]",
        "terseLabel": "Portion at Fair Value Measurement [Member]"
       }
      }
     },
     "localname": "PortionAtFairValueFairValueDisclosureMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromIssuanceOfSubordinatedLongTermDebt": {
     "auth_ref": [
      "r73"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Proceeds from Issuance of Subordinated Long-term Debt"
       }
      }
     },
     "localname": "ProceedsFromIssuanceOfSubordinatedLongTermDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities": {
     "auth_ref": [
      "r67",
      "r68",
      "r194"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Proceeds from Maturities, Prepayments and Calls of Available-for-sale Securities",
        "verboseLabel": "Proceeds from maturities, calls and paydowns of available for sale securities"
       }
      }
     },
     "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfAvailableForSaleSecurities",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromRepaymentsOfOtherDebt": {
     "auth_ref": [
      "r93"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) for debt classified as other.",
        "label": "Proceeds from (Repayments of) Other Debt",
        "terseLabel": "Net (decrease) increase in other borrowings"
       }
      }
     },
     "localname": "ProceedsFromRepaymentsOfOtherDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfAvailableForSaleSecuritiesDebt": {
     "auth_ref": [
      "r67",
      "r68",
      "r194"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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).",
        "label": "Proceeds from Sale of Available-for-sale Securities, Debt",
        "verboseLabel": "Proceeds from the sale of available for sale securities"
       }
      }
     },
     "localname": "ProceedsFromSaleOfAvailableForSaleSecuritiesDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfForeclosedAssets": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from the sale assets received in full or partial satisfaction of a receivable including real and personal property; equity interests in corporations, partnerships, and joint ventures; and beneficial interests in trusts. Foreclosed assets also include loans that are treated as if the underlying collateral had been foreclosed because the institution has taken possession of the collateral, even though legal foreclosure or repossession proceedings have not taken place.",
        "label": "Proceeds from Sale of Foreclosed Assets",
        "verboseLabel": "Proceeds from sale of other real estate owned"
       }
      }
     },
     "localname": "ProceedsFromSaleOfForeclosedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfMortgageLoansHeldForSale": {
     "auth_ref": [
      "r75",
      "r78"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash inflow from sales of loans that are secured with real estate mortgages and are held with the intention to resell in the near future.",
        "label": "Proceeds from Sale of Mortgage Loans Held-for-sale",
        "terseLabel": "Proceeds from sale of mortgage loans"
       }
      }
     },
     "localname": "ProceedsFromSaleOfMortgageLoansHeldForSale",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfessionalFees": {
     "auth_ref": [
      "r514",
      "r515"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 5.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Professional Fees",
        "terseLabel": "Professional and outside services"
       }
      }
     },
     "localname": "ProfessionalFees",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProfitLossFromRealEstateOperations": {
     "auth_ref": [
      "r453"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 7.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net cost of operation of other real estate (including provisions for real estate losses, rental income, and gains and losses on sales of real estate).",
        "label": "Profit (Loss) from Real Estate Operations",
        "negatedLabel": "Foreclosed assets, net"
       }
      }
     },
     "localname": "ProfitLossFromRealEstateOperations",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r4",
      "r5",
      "r248",
      "r487"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Property, Plant and Equipment, Net",
        "verboseLabel": "Premises and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForLoanAndLeaseLosses": {
     "auth_ref": [
      "r82",
      "r164",
      "r448"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 20.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Provision for (Recovery of) Loan Losses",
        "documentation": "Amount of expense related to estimated loss from loan and lease transactions.",
        "label": "Provision for Loan and Lease Losses",
        "terseLabel": "Provision for (recovery of) loan losses"
       }
      }
     },
     "localname": "ProvisionForLoanAndLeaseLosses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProvisionForLoanLeaseAndOtherLosses": {
     "auth_ref": [
      "r82",
      "r164",
      "r448"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_InterestIncomeExpenseAfterProvisionForLoanLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Provision for Loan, Lease, and Other Losses",
        "terseLabel": "Provision Expense",
        "verboseLabel": "Recovery of provision for loan losses"
       }
      }
     },
     "localname": "ProvisionForLoanLeaseAndOtherLosses",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivableFromOfficersAndDirectorsForIssuanceOfCapitalStock": {
     "auth_ref": [
      "r13",
      "r17",
      "r187"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amounts receivable from officers and directors resulting from the sale of stock to officers or directors before the cash payment is received.",
        "label": "Receivable from Officers and Directors for Issuance of Capital Stock",
        "negatedLabel": "Stock in directors rabbi trust"
       }
      }
     },
     "localname": "ReceivableFromOfficersAndDirectorsForIssuanceOfCapitalStock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivablesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loans and allowance for loan losses"
       }
      }
     },
     "localname": "ReceivablesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_ResidentialMortgageMember": {
     "auth_ref": [
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Loan to purchase or refinance residential real estate for example, but not limited to, a home, in which the real estate itself serves as collateral for the loan.",
        "label": "Residential Mortgage [Member]",
        "terseLabel": "Residential [Member]"
       }
      }
     },
     "localname": "ResidentialMortgageMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RestrictedStockMember": {
     "auth_ref": [
      "r119"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met.",
        "label": "Restricted Stock [Member]",
        "terseLabel": "Restricted Stock [Member]"
       }
      }
     },
     "localname": "RestrictedStockMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r15",
      "r270",
      "r313",
      "r485",
      "r506",
      "r511"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "verboseLabel": "Accumulated deficit"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [
      "r94",
      "r95",
      "r96",
      "r99",
      "r108",
      "r110",
      "r219",
      "r310",
      "r311",
      "r312",
      "r324",
      "r325",
      "r502",
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Accumulated Deficit [Member]"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "auth_ref": [
      "r130",
      "r131",
      "r144",
      "r150",
      "r151",
      "r157",
      "r158",
      "r160",
      "r271",
      "r272",
      "r417"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "Other revenues",
        "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.",
        "label": "Revenue from Contract with Customer, Including Assessed Tax"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_Revenues": {
     "auth_ref": [
      "r55",
      "r87",
      "r130",
      "r131",
      "r144",
      "r150",
      "r151",
      "r157",
      "r158",
      "r160",
      "r215",
      "r364",
      "r461"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "definitionGuidance": "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).",
        "label": "Revenues"
       }
      }
     },
     "localname": "Revenues",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenuesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues [Abstract]",
        "verboseLabel": "Revenues"
       }
      }
     },
     "localname": "RevenuesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility [Member]"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r380",
      "r381"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Right of use assets obtained in exchange for new operating lease liabilities"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RiskBasedRatiosAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk Based Ratios [Abstract]",
        "verboseLabel": "Total capital (to risk- weighted assets) Village Bank, Ratio"
       }
      }
     },
     "localname": "RiskBasedRatiosAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": {
     "auth_ref": [
      "r30"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "auth_ref": [
      "r30"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "verboseLabel": "Schedule of composition of loan portfolio (excluding mortgage loans held for sale)"
       }
      }
     },
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "auth_ref": [
      "r42",
      "r371",
      "r372"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).",
        "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "terseLabel": "Schedule of accumulated other comprehensive income (loss)"
       }
      }
     },
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Available-for-sale Securities [Line Items]"
       }
      }
     },
     "localname": "ScheduleOfAvailableForSaleSecuritiesLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfComplianceWithRegulatoryCapitalRequirementsUnderBankingRegulationsTable": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the capital amounts and ratios as of the balance sheet date indicating whether the entity or entities are in compliance with regulatory capital requirements, by entity.",
        "label": "Schedule of Compliance with Regulatory Capital Requirements under Banking Regulations [Table]"
       }
      }
     },
     "localname": "ScheduleOfComplianceWithRegulatoryCapitalRequirementsUnderBankingRegulationsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfComplianceWithRegulatoryCapitalRequirementsUnderBankingRegulationsTextBlock": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the capital amounts and ratios as of the balance sheet date, indicating whether the entity or entities are in compliance with regulatory capital requirements, by entity.",
        "label": "Schedule of Compliance with Regulatory Capital Requirements under Banking Regulations [Table Text Block]",
        "terseLabel": "Schedule of capital amounts and ratios"
       }
      }
     },
     "localname": "ScheduleOfComplianceWithRegulatoryCapitalRequirementsUnderBankingRegulationsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r118"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "verboseLabel": "Schedule of basic and diluted earnings per common share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFairValueOffBalanceSheetRisksTextBlock": {
     "auth_ref": [
      "r361",
      "r362"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined) which are not recognized in the financial statements (off-balance sheet) because they fail to meet some other criterion for recognition.",
        "label": "Schedule of Fair Value, Off-balance Sheet Risks [Table Text Block]",
        "terseLabel": "Schedule of off balance sheet financial instruments"
       }
      }
     },
     "localname": "ScheduleOfFairValueOffBalanceSheetRisksTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": {
     "auth_ref": [
      "r223"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about allowance for credit loss on financing receivable.",
        "label": "Schedule of Financing Receivable, Allowance for Credit Losses [Table]"
       }
      }
     },
     "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFinancingReceivableRecordedInvestmentCreditQualityIndicatorTable": {
     "auth_ref": [
      "r228",
      "r235"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about credit quality indicator for financing receivable.",
        "label": "Schedule of Financing Receivable, Recorded Investment, Credit Quality Indicator [Table]"
       }
      }
     },
     "localname": "ScheduleOfFinancingReceivableRecordedInvestmentCreditQualityIndicatorTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFinancingReceivableTroubledDebtRestructuringsTable": {
     "auth_ref": [
      "r179",
      "r180"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about financing receivable modified as troubled debt restructuring.",
        "label": "Schedule of Financing Receivable, Troubled Debt Restructurings [Table]"
       }
      }
     },
     "localname": "ScheduleOfFinancingReceivableTroubledDebtRestructuringsTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfFinancingReceivablesNonAccrualStatusTableTextBlock": {
     "auth_ref": [
      "r185",
      "r227"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of financing receivable on nonaccrual status.",
        "label": "Schedule of Financing Receivables, Non Accrual Status [Table Text Block]",
        "verboseLabel": "Schedule of information on nonaccrual loans"
       }
      }
     },
     "localname": "ScheduleOfFinancingReceivablesNonAccrualStatusTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfFinancingReceivablesPastDueTable": {
     "auth_ref": [
      "r224",
      "r236"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about aging analysis for financing receivable.",
        "label": "Schedule of Financing Receivables Past Due [Table]"
       }
      }
     },
     "localname": "ScheduleOfFinancingReceivablesPastDueTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfImpairedFinancingReceivableTable": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of the recorded investment, unpaid principal balance, associated allowance, average recorded investment, accounting policies, and interest income recognized on the accrual and cash basis for impaired financing receivables by class of financing receivable.",
        "label": "Schedule of Impaired Financing Receivable [Table]"
       }
      }
     },
     "localname": "ScheduleOfImpairedFinancingReceivableTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": {
     "auth_ref": [
      "r297"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units.",
        "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]",
        "terseLabel": "Schedule of company's non vested restricted stock awards"
       }
      }
     },
     "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfReceivablesWithImputedInterestTextBlock": {
     "auth_ref": [
      "r374",
      "r375",
      "r376",
      "r377"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular  disclosure of receivables or notes with discounts or premiums resulting from the determination of present value in cash or noncash transactions, including description of the receivable, the effective interest rate, the face amount, amortization period and method.",
        "label": "Schedule of Receivables with Imputed Interest [Table Text Block]",
        "terseLabel": "Schedule of PPP loans by loan size including SBA fees earned"
       }
      }
     },
     "localname": "ScheduleOfReceivablesWithImputedInterestTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r139",
      "r142",
      "r148",
      "r246"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r139",
      "r142",
      "r148",
      "r246"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of segment information"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "auth_ref": [
      "r290",
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about share-based payment arrangement.",
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]"
       }
      }
     },
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfStockOptionsRollForwardTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the change in stock options.",
        "label": "Schedule of Stock Options Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of options outstanding under company's stock incentive plan"
       }
      }
     },
     "localname": "ScheduleOfStockOptionsRollForwardTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SecuredDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets.",
        "label": "Secured Debt [Member]",
        "terseLabel": "Secured Debt [Member]"
       }
      }
     },
     "localname": "SecuredDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SecuritiesSoldUnderAgreementsToRepurchase": {
     "auth_ref": [
      "r32",
      "r33",
      "r34",
      "r92",
      "r433"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after the effects of master netting arrangements, of funds outstanding borrowed in the form of a security repurchase agreement between the entity and another party for the sale and repurchase of identical or substantially the same securities at a date certain for a specified price. Includes liabilities not subject to a master netting arrangement and not elected to be offset.",
        "label": "Securities Sold under Agreements to Repurchase",
        "verboseLabel": "Other borrowings"
       }
      }
     },
     "localname": "SecuritiesSoldUnderAgreementsToRepurchase",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [
      "r126",
      "r130",
      "r131",
      "r132",
      "r133",
      "r134",
      "r135",
      "r136",
      "r137",
      "r138",
      "r139",
      "r140",
      "r141",
      "r144",
      "r145",
      "r146",
      "r147",
      "r149",
      "r150",
      "r151",
      "r152",
      "r153",
      "r155",
      "r160",
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segment [Domain]",
        "terseLabel": "Segments [Domain]"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r126",
      "r128",
      "r129",
      "r139",
      "r143",
      "r149",
      "r153",
      "r154",
      "r155",
      "r156",
      "r157",
      "r159",
      "r160",
      "r161"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment Reporting"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReporting"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Segment Reporting Information [Line Items]"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r82"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Compensation",
        "terseLabel": "Stock compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "auth_ref": [
      "r296"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "negatedLabel": "Shares, Forfeited"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r301"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant-Date Fair-Value, Forfeited"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r299"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant-Date Fair-Value, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "auth_ref": [
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Ending Balance",
        "periodStartLabel": "Beginning Balance",
        "verboseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number, Beginning Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r298"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Weighted-Average Grant-Date Fair-Value, Ending Balance",
        "periodStartLabel": "Weighted-Average Grant-Date Fair-Value, Beginning Balance"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "auth_ref": [
      "r300"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "negatedLabel": "Shares, Vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r300"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant-Date Fair-Value, Vested"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]",
        "terseLabel": "Fair Value Per Share"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "auth_ref": [
      "r294"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number",
        "terseLabel": "Options exercisable, end of period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "auth_ref": [
      "r296"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period",
        "negatedLabel": "Forfeited"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Gross number of share options (or share units) granted during the period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "auth_ref": [
      "r302"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "auth_ref": [
      "r305"
     ],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value",
        "verboseLabel": "Intrinsic Value Options outstanding"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "auth_ref": [
      "r293",
      "r305"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of options outstanding, including both vested and non-vested options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Options outstanding, end of period",
        "periodStartLabel": "Options outstanding, beginning of period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]",
        "terseLabel": "Options"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "auth_ref": [
      "r292"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Options outstanding, end of period",
        "periodStartLabel": "Options outstanding, beginning of period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]",
        "terseLabel": "Weighted Average Exercise Price"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "auth_ref": [
      "r288",
      "r291"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement.",
        "label": "Share Based Compensation Arrangements By Share Based Payment Award Award Type And Plan Name [Domain]",
        "terseLabel": "Equity Award [Domain]"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "terseLabel": "Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price",
        "terseLabel": "Forfeited"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.",
        "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "terseLabel": "Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of nonvested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Nonvested",
        "periodEndLabel": "Aggregate Intrinsic Value, Ending Balance",
        "periodStartLabel": "Aggregate Intrinsic Value, Beginning Balance"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of vested award under share-based payment arrangement. Excludes share and unit options.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested",
        "negatedLabel": "Aggregate Intrinsic Value, Vested"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StandbyLettersOfCreditMember": {
     "auth_ref": [
      "r258",
      "r260",
      "r331",
      "r513"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An irrevocable undertaking (typically by a financial institution) to guarantee payment of a specified financial obligation.",
        "label": "Standby Letters Of Credit [Member]",
        "terseLabel": "Standby letters of Credit"
       }
      }
     },
     "localname": "StandbyLettersOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r0",
      "r126",
      "r130",
      "r131",
      "r132",
      "r133",
      "r134",
      "r135",
      "r136",
      "r137",
      "r138",
      "r139",
      "r140",
      "r141",
      "r144",
      "r145",
      "r146",
      "r147",
      "r149",
      "r150",
      "r151",
      "r152",
      "r153",
      "r155",
      "r160",
      "r246",
      "r251",
      "r252",
      "r253",
      "r497"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r29",
      "r94",
      "r95",
      "r96",
      "r99",
      "r108",
      "r110",
      "r125",
      "r219",
      "r265",
      "r270",
      "r310",
      "r311",
      "r312",
      "r324",
      "r325",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r372",
      "r502",
      "r503",
      "r504"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Cash Flows"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Balance Sheets"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Comprehensive Income"
       }
      }
     },
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Statements of Shareholders' Equity"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [
      "r94",
      "r95",
      "r96",
      "r125",
      "r417"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "auth_ref": [
      "r12",
      "r13",
      "r265",
      "r270",
      "r295"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of share options (or share units) exercised during the current period.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Exercised"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r13",
      "r17",
      "r18",
      "r87",
      "r187",
      "r215",
      "r364"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "verboseLabel": "Shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubordinatedBorrowingsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subordinated Debt"
       }
      }
     },
     "localname": "SubordinatedBorrowingsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubordinatedBorrowingsDisclosureTextBlock": {
     "auth_ref": [
      "r471"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Subordinated Borrowings Disclosure [Text Block]",
        "verboseLabel": "Subordinated Debt"
       }
      }
     },
     "localname": "SubordinatedBorrowingsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSubordinatedDebt"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubordinatedDebt": {
     "auth_ref": [
      "r7",
      "r9",
      "r427",
      "r483"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 4.0,
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Subordinated Debt.",
        "verboseLabel": "Subordinated debt, net"
       }
      }
     },
     "localname": "SubordinatedDebt",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails",
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SubordinatedDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents domestic or foreign subordinated debt. Subordinated debt has a lower priority of repayment in liquidation of the entity's assets.",
        "label": "Subordinated Debt [Member]",
        "terseLabel": "Subordinated Debt Offering [Member]"
       }
      }
     },
     "localname": "SubordinatedDebtMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails",
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleSummaryOfInvestmentSecuritiesAvailableForSaleHavingFairValueAndUnrealizedLossPositionDetails",
      "http://www.villagebank.com/role/DisclosureSubordinatedDebtDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "terseLabel": "Supplemental Disclosure of Cash Flow Information"
       }
      }
     },
     "localname": "SupplementalCashFlowInformationAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SuppliesExpense": {
     "auth_ref": [
      "r454"
     ],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 4.0,
       "parentTag": "us-gaap_NoninterestExpense",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expense associated with supplies that were used during the current accounting period.",
        "label": "Supplies Expense",
        "terseLabel": "Supplies"
       }
      }
     },
     "localname": "SuppliesExpense",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TierOneLeverageCapital": {
     "auth_ref": [
      "r475"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Tier 1 leverage capital as defined by regulatory framework.",
        "label": "Tier One Leverage Capital",
        "verboseLabel": "Actual Amount"
       }
      }
     },
     "localname": "TierOneLeverageCapital",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TierOneLeverageCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tier One Leverage Capital [Abstract]",
        "verboseLabel": "Leverage ratio (Tier 1 capital to average assets), Amount"
       }
      }
     },
     "localname": "TierOneLeverageCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TierOneLeverageCapitalRequiredForCapitalAdequacy": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum Tier 1 leverage capital required for capital adequacy as defined by regulatory framework.",
        "label": "Tier One Leverage Capital Required for Capital Adequacy",
        "verboseLabel": "For Capital Adequacy Purposes"
       }
      }
     },
     "localname": "TierOneLeverageCapitalRequiredForCapitalAdequacy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TierOneLeverageCapitalRequiredForCapitalAdequacyToAverageAssets": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of minimum Tier 1 leverage capital to average assets required for capital adequacy as defined by regulatory framework.",
        "label": "Tier One Leverage Capital Required for Capital Adequacy to Average Assets",
        "verboseLabel": "For Capital Adequacy Purposes (in percentage)"
       }
      }
     },
     "localname": "TierOneLeverageCapitalRequiredForCapitalAdequacyToAverageAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_TierOneLeverageCapitalRequiredToBeWellCapitalized": {
     "auth_ref": [
      "r475"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum Tier 1 leverage capital categorized as well capitalized as defined by regulatory framework for prompt corrective action.",
        "label": "Tier One Leverage Capital Required to be Well Capitalized",
        "verboseLabel": "To be Well Capitalized Amount"
       }
      }
     },
     "localname": "TierOneLeverageCapitalRequiredToBeWellCapitalized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TierOneLeverageCapitalRequiredToBeWellCapitalizedToAverageAssets": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of minimum Tier 1 leverage capital to average assets categorized as well capitalized as defined by regulatory framework for prompt corrective action.",
        "label": "Tier One Leverage Capital Required to be Well Capitalized to Average Assets",
        "verboseLabel": "To be Well Capitalized (in percentage)"
       }
      }
     },
     "localname": "TierOneLeverageCapitalRequiredToBeWellCapitalizedToAverageAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_TierOneLeverageCapitalToAverageAssets": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of Tier 1 capital to average assets as defined by regulatory framework.",
        "label": "Tier One Leverage Capital to Average Assets",
        "verboseLabel": "Actual Ratio (in percentage)"
       }
      }
     },
     "localname": "TierOneLeverageCapitalToAverageAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_TierOneRiskBasedCapital": {
     "auth_ref": [
      "r475"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Tier 1 risk-based capital as defined by regulatory framework.",
        "label": "Tier One Risk Based Capital",
        "verboseLabel": "Actual Amount"
       }
      }
     },
     "localname": "TierOneRiskBasedCapital",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TierOneRiskBasedCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tier One Risk Based Capital [Abstract]",
        "verboseLabel": "Tier 1 capital (to risk- weighted assets) Village Bank, Amount"
       }
      }
     },
     "localname": "TierOneRiskBasedCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TierOneRiskBasedCapitalRequiredForCapitalAdequacy": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum Tier 1 risk-based capital required for capital adequacy as defined by regulatory framework.",
        "label": "Tier One Risk Based Capital Required for Capital Adequacy",
        "verboseLabel": "For Capital Adequacy Purposes"
       }
      }
     },
     "localname": "TierOneRiskBasedCapitalRequiredForCapitalAdequacy",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TierOneRiskBasedCapitalRequiredForCapitalAdequacyToRiskWeightedAssets": {
     "auth_ref": [
      "r475",
      "r476"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of minimum Tier 1 risk-based capital to risk-weighted assets required for capital adequacy as defined by regulatory framework.",
        "label": "Tier One Risk Based Capital Required for Capital Adequacy to Risk Weighted Assets",
        "verboseLabel": "For Capital Adequacy Purposes (in percentage)"
       }
      }
     },
     "localname": "TierOneRiskBasedCapitalRequiredForCapitalAdequacyToRiskWeightedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_TierOneRiskBasedCapitalRequiredToBeWellCapitalized": {
     "auth_ref": [
      "r475"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum Tier 1 risk-based capital categorized as well capitalized as defined by regulatory framework for prompt corrective action.",
        "label": "Tier One Risk Based Capital Required to be Well Capitalized",
        "verboseLabel": "To be Well Capitalized Amount"
       }
      }
     },
     "localname": "TierOneRiskBasedCapitalRequiredToBeWellCapitalized",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TierOneRiskBasedCapitalRequiredToBeWellCapitalizedToRiskWeightedAssets": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of minimum Tier 1 risk-based capital to risk-weighted assets categorized as well capitalized as defined by regulatory framework for prompt corrective action.",
        "label": "Tier One Risk Based Capital Required to be Well Capitalized to Risk Weighted Assets",
        "verboseLabel": "To be Well Capitalized (in percentage)"
       }
      }
     },
     "localname": "TierOneRiskBasedCapitalRequiredToBeWellCapitalizedToRiskWeightedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_TierOneRiskBasedCapitalToRiskWeightedAssets": {
     "auth_ref": [
      "r475"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Ratio of Tier 1 risk-based capital to risk-weighted assets as defined by regulatory framework.",
        "label": "Tier One Risk Based Capital to Risk Weighted Assets",
        "verboseLabel": "Actual Ratio (in percentage)"
       }
      }
     },
     "localname": "TierOneRiskBasedCapitalToRiskWeightedAssets",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "us-gaap_TimeDeposits100000OrMore": {
     "auth_ref": [
      "r542"
     ],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of time deposit liabilities, including certificates of deposit, in denominations of $100,000 or more.",
        "label": "Time Deposits, $100,000 or More",
        "verboseLabel": "Time deposits of $250,000 and over"
       }
      }
     },
     "localname": "TimeDeposits100000OrMore",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "auth_ref": [
      "r206",
      "r207",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r400",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Transfers And Servicing Of Financial Instruments Types Of Financial Instruments [Domain]",
        "terseLabel": "Financial Instruments [Domain]"
       }
      }
     },
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TroubledDebtRestructuringsOnFinancingReceivablesTableTextBlock": {
     "auth_ref": [
      "r179",
      "r180"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of financing receivable modified as troubled debt restructuring.",
        "label": "Troubled Debt Restructurings on Financing Receivables [Table Text Block]",
        "verboseLabel": "Schedule of troubled debt restructurings on financing receivables"
       }
      }
     },
     "localname": "TroubledDebtRestructuringsOnFinancingReceivablesTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_USGovernmentAgenciesDebtSecuritiesMember": {
     "auth_ref": [
      "r274",
      "r462"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Debentures, notes, and other debt securities issued by US government agencies, for example, but not limited to, Government National Mortgage Association (GNMA or Ginnie Mae). Excludes US treasury securities and debt issued by government-sponsored Enterprises (GSEs), for example, but is not limited to, Federal Home Loan Mortgage Corporation (FHLMC or Freddie Mac), Federal National Mortgage Association (FNMA or Fannie Mae), and the Federal Home Loan Bank (FHLB).",
        "label": "U S Government Agencies Debt Securities [Member]",
        "terseLabel": "U.S. Government Agencies Obligations [Member]"
       }
      }
     },
     "localname": "USGovernmentAgenciesDebtSecuritiesMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAmortizedCostAndFairValueOfInvestmentSecuritiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UnusedLinesOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The unused portion of a line of credit that is available to the borrower to withdrawn upon.",
        "label": "Unused Lines Of Credit [Member]",
        "terseLabel": "Undisbursed credit lines"
       }
      }
     },
     "localname": "UnusedLinesOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ValuationTechniqueAxis": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by valuation approach and technique.",
        "label": "Valuation Technique [Axis]"
       }
      }
     },
     "localname": "ValuationTechniqueAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ValuationTechniqueDomain": {
     "auth_ref": [
      "r351"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Valuation approach and technique.",
        "label": "Valuation Technique [Domain]",
        "terseLabel": "Valuation Technique [Domain]"
       }
      }
     },
     "localname": "ValuationTechniqueDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate [Domain]"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r113",
      "r118"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Weighted average shares outstanding - diluted (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r112",
      "r118"
     ],
     "calculation": {
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-us": {
       "role": {
        "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.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "verboseLabel": "Weighted average shares outstanding - basic (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]",
        "verboseLabel": "Denominator"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2020-01-31",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureEarningsPerShareDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_AccruedInterestReceivableFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the portion of the balance sheet assertion valued at fair value by the entity whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission. Includes disclosure of interest receivable.",
        "label": "Accrued Interest Receivable Fair Value Disclosure",
        "terseLabel": "Accrued interest receivable"
       }
      }
     },
     "localname": "AccruedInterestReceivableFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_AdjustmentsToAdditionalPaidInCapitalSharesIssuedOnVestingOfRestrictedSharesValue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The decrease in additional paid in capital due to vesting of restricted shares.",
        "label": "Adjustments To Additional Paid In Capital Shares Issued On Vesting Of Restricted Shares Value",
        "terseLabel": "Vesting of restricted stock"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharesIssuedOnVestingOfRestrictedSharesValue",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_AdjustmentsToAdditonalPaidInCapitalSharesIssuedOnVestingOfRestrictedSharesValue": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The decrease in additional paid in capital due to vesting of restricted shares.",
        "label": "Adjustments To Additonal Paid In Capital Shares Issued On Vesting Of Restricted Shares Value",
        "verboseLabel": "Vesting of restricted stock"
       }
      }
     },
     "localname": "AdjustmentsToAdditonalPaidInCapitalSharesIssuedOnVestingOfRestrictedSharesValue",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_AppraisalOrInternalValuationTechniqueMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Appraisal Or Internal Valuation Technique [Member]",
        "terseLabel": "Appraisal or Internal Valuation Technique [Member]"
       }
      }
     },
     "localname": "AppraisalOrInternalValuationTechniqueMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_AvailableForSaleSecuritiesRealizedGrossGainsAndLossesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of available-for-sale securities realized gross gains and losses.",
        "label": "Available For Sale Securities Realized Gross Gains And Losses [Table Text Block]",
        "terseLabel": "Schedule of gross realized gains and losses pertaining to available for sale securities"
       }
      }
     },
     "localname": "AvailableForSaleSecuritiesRealizedGrossGainsAndLossesTableTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_BankOwnedLifeInsuranceFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the portion of the balance sheet assertion valued at fair value by the entity whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission. Includes disclosure of bank owned life insurance.",
        "label": "Bank Owned Life Insurance Fair Value Disclosure",
        "verboseLabel": "Bank owned life insurance"
       }
      }
     },
     "localname": "BankOwnedLifeInsuranceFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_CapitalConservationBufferPercentage": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "percentage of capital conservation buffer.",
        "label": "Capital Conservation Buffer Percentage"
       }
      }
     },
     "localname": "CapitalConservationBufferPercentage",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails"
     ],
     "xbrltype": "pureItemType"
    },
    "vbfc_CashFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the portion of the balance sheet assertion valued at fair value by the entity whether such amount is presented as a separate caption or as a parenthetical disclosure. Additionally, this element may be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements. The element may be used in both the balance sheet and disclosure in the same submission. This item includes currency on hand on balance sheets date.",
        "label": "Cash Fair Value Disclosure",
        "terseLabel": "Cash"
       }
      }
     },
     "localname": "CashFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_CommercialAndIndustrialLoansExceptThoseSecuredByRealEstateMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial And Industrial Loans Except Those Secured By Real Estate [Member]",
        "terseLabel": "Commercial and industrial loans (except those secured by real estate)"
       }
      }
     },
     "localname": "CommercialAndIndustrialLoansExceptThoseSecuredByRealEstateMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_CommercialAndIndustrialLoansPortfolioSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Commercial and Industrial Loans.",
        "label": "Commercial And Industrial Loans Portfolio Segment [Member]",
        "terseLabel": "Commercial and industrial loans"
       }
      }
     },
     "localname": "CommercialAndIndustrialLoansPortfolioSegmentMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_CommercialBankingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to commercial banking.",
        "label": "Commercial Banking [Member]",
        "terseLabel": "Commercial Banking [Member]"
       }
      }
     },
     "localname": "CommercialBankingMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_CommercialRealEstateFarmlandMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Real Estate Farmland [Member]",
        "terseLabel": "Farmland [Member]"
       }
      }
     },
     "localname": "CommercialRealEstateFarmlandMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_CommercialRealEstateMultifamilyMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Real Estate Multifamily [Member]",
        "terseLabel": "Multifamily [Member]"
       }
      }
     },
     "localname": "CommercialRealEstateMultifamilyMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_CommercialRealEstateNonownerOccupiedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Real Estate Nonowner Occupied [Member]",
        "terseLabel": "Non-Owner Occupied [Member]"
       }
      }
     },
     "localname": "CommercialRealEstateNonownerOccupiedMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_CommercialRealEstateOwnerOccupiedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commercial Real Estate Owner Occupied [Member]",
        "terseLabel": "Owner occupied"
       }
      }
     },
     "localname": "CommercialRealEstateOwnerOccupiedMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_CommonEquityTierOneRiskBasedCapital": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common equity Tier 1 Risk Based Capital as defined in the regulations.",
        "label": "Common Equity Tier One Risk Based Capital",
        "verboseLabel": "Actual Amount"
       }
      }
     },
     "localname": "CommonEquityTierOneRiskBasedCapital",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_CommonEquityTierOneRiskBasedCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Equity Tier One Risk Based Capital [Abstract]",
        "terseLabel": "Common equity (Tier 1 risk based capital to risk weighted assets), Ratio"
       }
      }
     },
     "localname": "CommonEquityTierOneRiskBasedCapitalAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_CommonEquityTierOneRiskBasedCapitalRequiredForCapitalAdequacy": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum amount of common equity Tier 1 Risk Based Capital required for capital adequacy purposes under the regulatory framework for prompt corrective action.",
        "label": "Common Equity Tier One Risk Based Capital Required For Capital Adequacy",
        "terseLabel": "For Capital Adequacy Purposes"
       }
      }
     },
     "localname": "CommonEquityTierOneRiskBasedCapitalRequiredForCapitalAdequacy",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_CommonEquityTierOneRiskBasedCapitalRequiredForCapitalAdequacyToRiskWeightedAssets": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum Common Equity Tier One Capital Ratio (Tier one capital divided by risk-weighted assets) required for capital adequacy purposes under the regulatory framework for prompt corrective action.",
        "label": "Common Equity Tier One Risk Based Capital Required for Capital Adequacy to Risk Weighted Assets",
        "terseLabel": "For Capital Adequacy Purposes (in percentage)"
       }
      }
     },
     "localname": "CommonEquityTierOneRiskBasedCapitalRequiredForCapitalAdequacyToRiskWeightedAssets",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_CommonEquityTierOneRiskBasedCapitalRequiredToBeWellCapitalized": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of common equity Tier 1 Risk Based Capital required to be categorized as well capitalized under the regulatory framework for prompt corrective action.",
        "label": "Common Equity Tier One Risk Based Capital Required To Be Well Capitalized",
        "verboseLabel": "To be Well Capitalized Amount"
       }
      }
     },
     "localname": "CommonEquityTierOneRiskBasedCapitalRequiredToBeWellCapitalized",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_CommonEquityTierOneRiskBasedCapitalRequiredToBeWellCapitalizedToRiskWeightedAssets": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Common equity Tier 1 capital ratio (common equity Tier 1 capital divided by risk weighted assets) required to be categorized as \"well capitalized\" under the regulatory framework for prompt corrective action.",
        "label": "Common Equity Tier One Risk Based Capital Required To Be Well Capitalized To Risk Weighted Assets",
        "verboseLabel": "To be Well Capitalized (in percentage)"
       }
      }
     },
     "localname": "CommonEquityTierOneRiskBasedCapitalRequiredToBeWellCapitalizedToRiskWeightedAssets",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_CommonEquityTierOneRiskBasedCapitalToRiskWeightedAssets": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common equity tier 1 capital divided by risk weighted assets as defined by regulations.",
        "label": "Common Equity Tier One Risk Based Capital to Risk Weighted Assets",
        "terseLabel": "Actual Ratio (in percentage)"
       }
      }
     },
     "localname": "CommonEquityTierOneRiskBasedCapitalToRiskWeightedAssets",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_CommonEquityTierOneRiskBasedCapitalToRiskWeightedAssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Equity Tier One Risk Based Capital to Risk Weighted Assets [Abstract]",
        "verboseLabel": "Common equity (Tier 1 risk based capital to risk weighted assets), Amount"
       }
      }
     },
     "localname": "CommonEquityTierOneRiskBasedCapitalToRiskWeightedAssetsAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_ConstructionAndLandDevelopmentPortfolioSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to construction and land development.",
        "label": "Construction And Land Development Portfolio Segment [Member]",
        "terseLabel": "Construction and land development"
       }
      }
     },
     "localname": "ConstructionAndLandDevelopmentPortfolioSegmentMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_ConsumerAndOtherMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consumer And Other [Member]",
        "terseLabel": "Consumer And Other [Member]"
       }
      }
     },
     "localname": "ConsumerAndOtherMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_ConsumerRealEstateSecuredBy14FamilyResidentialFirstDeedOfTrustMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consumer Real Estate Secured By14 Family Residential First Deed Of Trust [Member]",
        "terseLabel": "First deed of trust"
       }
      }
     },
     "localname": "ConsumerRealEstateSecuredBy14FamilyResidentialFirstDeedOfTrustMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_ConsumerRealEstateSecuredBy14FamilyResidentialSecondDeedOfTrustMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consumer Real Estate Secured By14 Family Residential Second Deed Of Trust [Member]",
        "terseLabel": "Second Deed of Trust [Member]"
       }
      }
     },
     "localname": "ConsumerRealEstateSecuredBy14FamilyResidentialSecondDeedOfTrustMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnNonaccrualLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_DeferredFessAndCostsNet": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 2.0,
       "parentTag": "us-gaap_LoansAndLeasesReceivableNetReportedAmount",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred fees and costs, net",
        "label": "Deferred Fess And Costs Net",
        "terseLabel": "Deferred fees and costs, net"
       }
      }
     },
     "localname": "DeferredFessAndCostsNet",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_DepositsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deposits.",
        "label": "Deposits [Line Items]",
        "terseLabel": "Deposits"
       }
      }
     },
     "localname": "DepositsLineItems",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_DepositsTable": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits [Table]"
       }
      }
     },
     "localname": "DepositsTable",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_DirectorsDeferredFeesObligation": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cumulative amount of directors deferred fees obligations as of balance sheet date of the reporting entity.",
        "label": "Directors Deferred Fees Obligation",
        "terseLabel": "Directors deferred fees obligation"
       }
      }
     },
     "localname": "DirectorsDeferredFeesObligation",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedBalanceSheets"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_DirectorsDeferredFeesObligationMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Directors Deferred Fees Obligation [Member]",
        "terseLabel": "Directors Deferred Fees Obligation [Member]"
       }
      }
     },
     "localname": "DirectorsDeferredFeesObligationMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_DocumentAndEntityInformationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Document And Entity Information [Abstract]",
        "label": "Document And Entity Information [Abstract]"
       }
      }
     },
     "localname": "DocumentAndEntityInformationAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "xbrltype": "stringItemType"
    },
    "vbfc_FairValueInputsSellingCosts": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Adjustment to the discount rate used to measure fair value for selling costs.",
        "label": "Fair Value Inputs Selling Costs",
        "terseLabel": "Selling costs"
       }
      }
     },
     "localname": "FairValueInputsSellingCosts",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_FairValueMeasurementValuationTechniques": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the inputs and valuation technique(s) used to measure fair value.",
        "label": "Fair Value Measurement Valuation Techniques",
        "verboseLabel": "Fair Value Measurements, Valuation Techniques"
       }
      }
     },
     "localname": "FairValueMeasurementValuationTechniques",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_FinancialLiabilitiesForwardSalesCommitmentFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value as of the balance sheet date of forward sales commitment derivative liabilities.",
        "label": "Financial Liabilities, Forward Sales Commitment, Fair Value Disclosure",
        "netLabel": "Fair value of forward sales commitments",
        "terseLabel": "Financial Liabilities-Recurring Forward sales commitment",
        "verboseLabel": "Forward sales commitment"
       }
      }
     },
     "localname": "FinancialLiabilitiesForwardSalesCommitmentFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails",
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_FinancingReceivableDistributionRoundsAxis": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "N/a",
        "label": "Financing Receivable, Distribution Rounds [Axis]"
       }
      }
     },
     "localname": "FinancingReceivableDistributionRoundsAxis",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_FinancingReceivableDistributionRoundsDomain": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "N/a",
        "label": "Financing Receivable Distribution Rounds [Domain]",
        "terseLabel": "Financing Receivable, Distribution Rounds [Domain]"
       }
      }
     },
     "localname": "FinancingReceivableDistributionRoundsDomain",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_FinancingReceivableModificationsAmountCovid19": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the amount of loans under modified terms for COVID-19-related loan modifications.",
        "label": "Financing Receivable, Modifications, Amount , COVID-19",
        "terseLabel": "Amount of loans under modified terms"
       }
      }
     },
     "localname": "FinancingReceivableModificationsAmountCovid19",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_GainLossOnLoansHeldForSale": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The net gain (loss) resulting from the sale of loans classified as held-for-sale.",
        "label": "Gain (Loss) on Loans Held for Sale",
        "negatedLabel": "Gain on sales of loans held for sale"
       }
      }
     },
     "localname": "GainLossOnLoansHeldForSale",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_Gainonsaleofsmallbusinessadministrationloans": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      },
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 5.0,
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Gain on sale of Small Business Administration loans",
        "label": "GainonsaleofSmallBusinessAdministrationloans",
        "negatedLabel": "Gain on sale of Small Business Administration loans",
        "terseLabel": "Gain on sale of Small Business Administration loans"
       }
      }
     },
     "localname": "Gainonsaleofsmallbusinessadministrationloans",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_GuaranteedStudentLoansMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Guaranteed Student Loans [Member]",
        "terseLabel": "Guaranteed Student loans [Member]"
       }
      }
     },
     "localname": "GuaranteedStudentLoansMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesLoansEvaluatedForImpairmentDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesRecordedInvestmentInPastDueLoansAndLeasesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_ImpairedFinancingReceivableWithRelatedAllowance": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of allowance for credit losses related to recorded investment.",
        "label": "Impaired Financing Receivable With Related Allowance",
        "terseLabel": "Related Allowance"
       }
      }
     },
     "localname": "ImpairedFinancingReceivableWithRelatedAllowance",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_ImpairedFinancingReceivablesAverageRecordedInvestmentTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of impaired financing receivables that reflects the average recorded investment in impaired loans during each period.",
        "label": "Impaired Financing Receivables Average Recorded Investment [Table Text Block]",
        "verboseLabel": "Schedule of average recorded investment in impaired loans"
       }
      }
     },
     "localname": "ImpairedFinancingReceivablesAverageRecordedInvestmentTableTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_ImpairedLoansWithNoRelatedAllowanceRecordedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Impaired Loans With No Related Allowance Recorded [Abstract]",
        "terseLabel": "With no related allowance recorded"
       }
      }
     },
     "localname": "ImpairedLoansWithNoRelatedAllowanceRecordedAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_ImpairedLoansWithRelatedAllowanceRecordedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "With an allowance recorded"
       }
      }
     },
     "localname": "ImpairedLoansWithRelatedAllowanceRecordedAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_IncreaseDecreaseInFederalHomeLoanBankAdvance": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of cash outflow (inflow) from acquisition (sale) of Federal Home Loan Bank (FHLBank) stock.",
        "label": "Increase Decrease In Federal Home Loan Bank Advance",
        "negatedLabel": "Repayments of Federal Home Loan Bank advances"
       }
      }
     },
     "localname": "IncreaseDecreaseInFederalHomeLoanBankAdvance",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_InformationAboutTdrsIdentifiedDuringPeriodLineItemsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information About Tdrs Identified During Period Line Items",
        "label": "Information About Tdrs Identified During Period Line Items [Line Items]"
       }
      }
     },
     "localname": "InformationAboutTdrsIdentifiedDuringPeriodLineItemsLineItems",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationAboutTdrsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_InformationConcerningTroubledDebtRestructuringsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Information concerning Troubled Debt Restructurings [Abstract]",
        "terseLabel": "Information concerning Troubled Debt Restructurings"
       }
      }
     },
     "localname": "InformationConcerningTroubledDebtRestructuringsAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_InterestRateLockCommitmentsFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of commitments to extend credit where the interest rate is locked in advance of funds being disbursed for a specified period of time.",
        "label": "Interest Rate Lock Commitments, Fair Value Disclosure",
        "netLabel": "Fair value of IRLC",
        "terseLabel": "IRLC",
        "verboseLabel": "Interest rate lock commitments"
       }
      }
     },
     "localname": "InterestRateLockCommitmentsFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails",
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_InvestmentPledgedAsSecurityForDebtMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Investment Pledged As Security For Debt",
        "label": "Investment Pledged As Security For Debt [Member]",
        "terseLabel": "Investment Pledged As Security For Debt [Member]"
       }
      }
     },
     "localname": "InvestmentPledgedAsSecurityForDebtMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureInvestmentSecuritiesAvailableForSaleAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_LoansAndLeasesReceivableNetAmountUnderCaaModifiedTerms": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount after allowance and deduction of deferred interest and fees, unamortized costs and premiums and discounts from face amounts, of loans and leases held in portfolio, including but not limited to, commercial and consumer loans, under CAA modified terms.",
        "label": "Loans and Leases Receivable, Net Amount, Under CAA Modified Terms",
        "terseLabel": "Loans under CAA modified terms"
       }
      }
     },
     "localname": "LoansAndLeasesReceivableNetAmountUnderCaaModifiedTerms",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_LoansEvaluatedForImpairmentTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of loans evaluated for impairment during the period.",
        "label": "Loans Evaluated For Impairment [Table Text Block]",
        "verboseLabel": "Schedule of loans evaluated for impairment"
       }
      }
     },
     "localname": "LoansEvaluatedForImpairmentTableTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_LoansHeldForSaleUnpaidPrincipalBalance": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of unpaid principal balance of loans held for sale.",
        "label": "Loans Held for Sale, Unpaid Principal Balance",
        "terseLabel": "Unpaid principal balance"
       }
      }
     },
     "localname": "LoansHeldForSaleUnpaidPrincipalBalance",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivativesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_MinimumPensionAdjustmentsThroughNoncashPaymentsAmount": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of minimum pension adjustments settled through noncash transactions.",
        "label": "Minimum Pension Adjustments Through Noncash Payments, Amount",
        "terseLabel": "Minimum pension adjustment"
       }
      }
     },
     "localname": "MinimumPensionAdjustmentsThroughNoncashPaymentsAmount",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_MortagageBankingMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to mortagage banking.",
        "label": "Mortagage Banking [Member]",
        "terseLabel": "Mortagage Banking [Member]"
       }
      }
     },
     "localname": "MortagageBankingMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureSegmentReportingSegmentInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_MortgageBackedSecuritiesFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the aggregate of the assets reported on the balance sheet at period end measured at fair value by the entity for Mortgage-Backed securities owned. This element is intended to be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements.",
        "label": "Mortgage Backed Securities Fair Value Disclosure",
        "verboseLabel": "Mortgage-backed securities"
       }
      }
     },
     "localname": "MortgageBackedSecuritiesFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_MortgageBankingAndDerivativesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "N/a.",
        "label": "Mortgage Banking and Derivatives"
       }
      }
     },
     "localname": "MortgageBankingAndDerivativesAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "xbrltype": "stringItemType"
    },
    "vbfc_MortgageBankingAndDerivativesDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for mortgage banking and derivatives.",
        "label": "Mortgage Banking and Derivatives, Disclosure [Text Block]",
        "terseLabel": "Mortgage Banking and Derivatives"
       }
      }
     },
     "localname": "MortgageBankingAndDerivativesDisclosureTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureMortgageBankingAndDerivatives"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_MortgageBankingIncomeNoninterestIncome": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome": {
       "order": 2.0,
       "parentTag": "us-gaap_NoninterestIncome",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of operating interest income, including amortization and accretion of premiums and discounts, on securitized, pass-through debt securities collateralized by real estate mortgage loans.",
        "label": "Mortgage Banking Income, Noninterest Income",
        "terseLabel": "Mortgage banking income, net"
       }
      }
     },
     "localname": "MortgageBankingIncomeNoninterestIncome",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfIncome"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_MunicipalFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Municipal fair value portion of probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Municipal Fair Value Disclosure",
        "terseLabel": "Municipals"
       }
      }
     },
     "localname": "MunicipalFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_NumberOfLoansGranted": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of loans granted.",
        "label": "Number Of Loans Granted",
        "terseLabel": "Number of loans granted"
       }
      }
     },
     "localname": "NumberOfLoansGranted",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "integerItemType"
    },
    "vbfc_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income Loss Reclassification Adjustment From AOCI [Abstract]",
        "verboseLabel": "Reclassification adjustment"
       }
      }
     },
     "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAociAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfComprehensiveIncome"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_OtherRealEstateOwnedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Real Estate Owned [Member]",
        "terseLabel": "Other Real Estate Owned [Member]"
       }
      }
     },
     "localname": "OtherRealEstateOwnedMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueFinancialInstrumentsMeasuredAtFairValueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PaycheckProtectionProgramLiquidityFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represent the information pertaining to paycheck protection program liquidity facility.",
        "label": "Paycheck Protection Program Liquidity Facility [Member]",
        "terseLabel": "PPPLF"
       }
      }
     },
     "localname": "PaycheckProtectionProgramLiquidityFacilityMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureBorrowingsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PaycheckProtectionProgramLoansMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to Paycheck protection program loans.",
        "label": "Paycheck Protection Program Loans [Member]",
        "terseLabel": "PPP Loans"
       }
      }
     },
     "localname": "PaycheckProtectionProgramLoansMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails",
      "http://www.villagebank.com/role/DisclosureRecentAccountingPronouncementsDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PaymentsToAcquireRestrictedStock": {
     "auth_ref": [],
     "calculation": {
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The cash outflow associated with purchase of restricted stock.",
        "label": "Payments To Acquire Restricted Stock",
        "negatedLabel": "Redemptions (Purchase) of restricted stock, net"
       }
      }
     },
     "localname": "PaymentsToAcquireRestrictedStock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_PercentageOfClassOfLoansToLoanPortfolio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represent percentage of class to total loan portfolio.",
        "label": "Percentage Of Class Of Loans To Loan Portfolio",
        "verboseLabel": "Percentage of class of loans to loan portfolio (in percent)"
       }
      }
     },
     "localname": "PercentageOfClassOfLoansToLoanPortfolio",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesClassifiedByTypeDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_PercentageOfDomesticDepositsLiabilityTotal": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of total domestic deposit liabilities.",
        "label": "Percentage Of Domestic Deposits Liability Total",
        "verboseLabel": "Total (in hundredths)"
       }
      }
     },
     "localname": "PercentageOfDomesticDepositsLiabilityTotal",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_PercentageOfIndividualDepositsToDepositLiabilityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Percentage Of Individual Deposits To Deposit Liability [Abstract]",
        "verboseLabel": "Percentage of individual deposits to deposit liability"
       }
      }
     },
     "localname": "PercentageOfIndividualDepositsToDepositLiabilityAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_PercentageOfNoninterestBearingDemandToDeposits": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of noninterest-bearing domestic deposit liabilities to total deposit liabilities.",
        "label": "Percentage Of Noninterest Bearing Demand To Deposits",
        "verboseLabel": "Demand accounts (in hundredths)"
       }
      }
     },
     "localname": "PercentageOfNoninterestBearingDemandToDeposits",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_PercentageOfRecoveryLossOnPortfolioFromHistoricalExperience": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represent the Percentage Of Recovery Loss On Portfolio From Historical Experience",
        "label": "Percentage Of Recovery Loss On Portfolio From Historical Experience"
       }
      }
     },
     "localname": "PercentageOfRecoveryLossOnPortfolioFromHistoricalExperience",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_PercentageOfTierOneRiskBasedCapitalRequiredForCapitalAdequacy": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of Tier 1 Risk Based Capital required for capital adequacy purposes under the regulatory framework for prompt corrective action.",
        "label": "Percentage Of Tier One Risk Based Capital Required For Capital Adequacy",
        "verboseLabel": "Percentage of Tier one risk based capital required for capital adequacy (in hundredths)"
       }
      }
     },
     "localname": "PercentageOfTierOneRiskBasedCapitalRequiredForCapitalAdequacy",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_PortfolioSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Portfolio Segment [Member]",
        "label": "Portfolio Segment [Member]",
        "terseLabel": "Portfolio Segment [Member]"
       }
      }
     },
     "localname": "PortfolioSegmentMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PppLoanDistributionRoundOneMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to distribution of PPP loans in round 1.",
        "label": "Ppp Loan Distribution Round One [Member]",
        "terseLabel": "Round 1"
       }
      }
     },
     "localname": "PppLoanDistributionRoundOneMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PppLoanDistributionRoundTwoMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Information pertaining to distribution of PPP loans in round 2.",
        "label": "Ppp Loan Distribution Round Two [Member]",
        "terseLabel": "Round 2"
       }
      }
     },
     "localname": "PppLoanDistributionRoundTwoMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PppLoanSizeLessThan350000DollarsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to PPP loan size less than 350000 dollars.",
        "label": "Ppp Loan Size Less Than350000 Dollars [Member]",
        "terseLabel": "PPP loan $350,000"
       }
      }
     },
     "localname": "PppLoanSizeLessThan350000DollarsMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PppLoanSizeMoreThanOrEqualTo350000DollarsAndLessThanOrEqualToTwoMillionDollarsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to PPP loan size more than or equal to 350000 dollars and less than or equal to two million dollars.",
        "label": "Ppp Loan Size More Than Or Equal To350000 Dollars And Less Than Or Equal To Two Million Dollars [Member]",
        "terseLabel": "PPP loan $350,000 - $2 million"
       }
      }
     },
     "localname": "PppLoanSizeMoreThanOrEqualTo350000DollarsAndLessThanOrEqualToTwoMillionDollarsMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PppLoanSizeMoreThanTwoMillionDollarsMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents information pertaining to PPP loan size more than two million dollars.",
        "label": "Ppp Loan Size More Than Two Million Dollars [Member]",
        "terseLabel": "PPP loan > $2 million"
       }
      }
     },
     "localname": "PppLoanSizeMoreThanTwoMillionDollarsMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnPppLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_PrinciplesOfPresentationAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Principles of presentation"
       }
      }
     },
     "localname": "PrinciplesOfPresentationAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "xbrltype": "stringItemType"
    },
    "vbfc_RealEstateOwnedFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the aggregate of the assets reported on the balance sheet at period end measured at fair value by the entity for Real Estate Owned. This element is intended to be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements.",
        "label": "Real Estate Owned Fair Value Disclosure",
        "terseLabel": "Other real estate owned",
        "verboseLabel": "Other real estate owned"
       }
      }
     },
     "localname": "RealEstateOwnedFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails",
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_RecentAccountingPronouncementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent accounting pronouncements"
       }
      }
     },
     "localname": "RecentAccountingPronouncementsAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "xbrltype": "stringItemType"
    },
    "vbfc_RiskRate6Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk Rate6 [Member]",
        "terseLabel": "Risk Rate 6 [Member]"
       }
      }
     },
     "localname": "RiskRate6Member",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_RiskRated14Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "No definition available.",
        "label": "Risk Rated14 [Member]",
        "terseLabel": "Risk Rated 1-4 [Member]"
       }
      }
     },
     "localname": "RiskRated14Member",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_RiskRated5Member": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk Rated5 [Member]",
        "terseLabel": "Risk Rated 5 [Member]"
       }
      }
     },
     "localname": "RiskRated5Member",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesInformationOnRiskRatingOfLoansDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of equity-based compensation awards granted. Excludes stock and unit options.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Granted",
        "terseLabel": "Aggregate Intrinsic Value, Granted"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueGranted",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOtherIncreaseDecrease": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of incremental increase in shares that vested based on the restricted stock units vesting at the maximum potential value as opposed to the targeted potential value of the award.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Other Increase (Decrease)",
        "terseLabel": "Aggregate Intrinsic Value, Other"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOtherIncreaseDecrease",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOtherIncreaseDecrease": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The number of incremental increase in shares that vested based on the restricted stock units vesting at the maximum potential value as opposed to the targeted potential value of the award.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Other Increase (Decrease)",
        "terseLabel": "Shares, Other"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOtherIncreaseDecrease",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "sharesItemType"
    },
    "vbfc_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsWeightedAverageGrantDateFairValueOtherIncreaseDecrease": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The weighted average fair value of incremental increase in shares that vested based on the restricted stock units vesting at the maximum potential value as opposed to the targeted potential value of the award.",
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Weighted Average Grant Date Fair Value, Other Increase (Decrease)",
        "terseLabel": "Weighted-Average Grant Date Fair Value, Other"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsWeightedAverageGrantDateFairValueOtherIncreaseDecrease",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "vbfc_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedDuringPeriodFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Fair value of share-based compensation arrangement by share-based payment award option (or share units) exercised during the current period.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercised During Period Fair Value",
        "terseLabel": "Exercised"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedDuringPeriodFairValue",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "vbfc_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeitedFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The share-based compensation arrangement by share-based payment award option that are terminated during the reporting period.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Forfeited Fair Value",
        "terseLabel": "Forfeited"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeitedFairValue",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "vbfc_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingFairValue": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The fair value of share-based compensation arrangement by share-based payment award option outstanding during the reporting period.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Fair Value",
        "periodEndLabel": "Options outstanding, end of period",
        "periodStartLabel": "Options outstanding, beginning of period"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingFairValue",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanOptionsOutstandingUnderCompanySStockIncentivePlanDetails"
     ],
     "xbrltype": "perShareItemType"
    },
    "vbfc_SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Intrinsic value of equity-based compensation awards forfeited. Excludes stock and unit options.",
        "label": "ShareBased Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Aggregate Intrinsic Value Forfeited",
        "terseLabel": "Aggregate Intrinsic Value, Forfeited"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanNonVestedRestrictedStockAwardDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_SharebasedCompensationArrangementBySharebasedPaymentAwardPayoutRatio": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Payout Ratio",
        "label": "Sharebased Compensation Arrangement by Sharebased Payment Award Payout Ratio"
       }
      }
     },
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPayoutRatio",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "vbfc_ShareholdersEquityAndRegulatoryMattersAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' Equity and Regulatory Matters"
       }
      }
     },
     "localname": "ShareholdersEquityAndRegulatoryMattersAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "xbrltype": "stringItemType"
    },
    "vbfc_ShareholdersEquityAndRegulatoryMattersTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of Shareholders' equity and regulatory matters.",
        "label": "Shareholders Equity And Regulatory Matters [Text Block]",
        "terseLabel": "Shareholders' Equity and Regulatory Matters"
       }
      }
     },
     "localname": "ShareholdersEquityAndRegulatoryMattersTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMatters"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_SouthernCommunityFinancialCapitalTrustIMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Southern Community Financial Capital Trust I [Member]",
        "terseLabel": "Southern Community Financial Capital Trust I [Member]"
       }
      }
     },
     "localname": "SouthernCommunityFinancialCapitalTrustIMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_SpecificValuationAllowanceMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Specific Valuation Allowance [Member]",
        "terseLabel": "Specific Valuation Allowance [Member]"
       }
      }
     },
     "localname": "SpecificValuationAllowanceMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesNonaccrualTdrsAndRelatedSpecificValuationAllowanceByPortfolioSegmentDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_StockInDirectorsRabbiTrustMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock In Directors Rabbi Trust [Member]",
        "terseLabel": "Stock in Directors Rabbi Trust [Member]"
       }
      }
     },
     "localname": "StockInDirectorsRabbiTrustMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfShareholdersEquity"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_SubordinatedDebtFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The Fair value amount of subordinated debt.",
        "label": "Subordinated Debt Fair Value Disclosure",
        "terseLabel": "Subordinated debt"
       }
      }
     },
     "localname": "SubordinatedDebtFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_SummaryOfDepositsTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of the components of deposit liabilities.",
        "label": "Summary Of Deposits [Table Text Block]",
        "terseLabel": "Schedule of deposits"
       }
      }
     },
     "localname": "SummaryOfDepositsTableTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureDepositsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_TierOneRiskBasedCapitalRatioAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tier One Risk Based Capital Ratio [Abstract]",
        "verboseLabel": "Tier 1 capital (to risk-capital to average assets), Ratio"
       }
      }
     },
     "localname": "TierOneRiskBasedCapitalRatioAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureShareholdersEquityAndRegulatoryMattersCapitalAmountsAndRatiosDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_TimeBasedRestrictedSharesMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Time Based Restricted Shares[Member]",
        "label": "Time Based Restricted Shares [Member]",
        "terseLabel": "Time Based Restricted Shares [Member]"
       }
      }
     },
     "localname": "TimeBasedRestrictedSharesMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureStockIncentivePlanAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_TotalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total",
        "terseLabel": "Total"
       }
      }
     },
     "localname": "TotalAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAverageRecordedInvestmentInImpairedLoansDetails",
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_TroubledDebtRestructuringsOnFinancingReceivablesModificationTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of financing receivables modifications and troubled debt restructurings.",
        "label": "Troubled Debt Restructurings On Financing Receivables Modification Table Text Block",
        "verboseLabel": "Schedule of troubled debt restructurings on financing receivables modification"
       }
      }
     },
     "localname": "TroubledDebtRestructuringsOnFinancingReceivablesModificationTableTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_TrustPreferredSecuritiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Trust preferred securities"
       }
      }
     },
     "localname": "TrustPreferredSecuritiesAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "xbrltype": "stringItemType"
    },
    "vbfc_TrustPreferredSecuritiesFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of trust preferred securities measured at fair value.",
        "label": "Trust Preferred Securities Fair Value Disclosure",
        "terseLabel": "Trust preferred securities"
       }
      }
     },
     "localname": "TrustPreferredSecuritiesFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueCarryingAmountsAndEstimatedFairValueOfCompanySDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_TrustPreferredSecuritiesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of securities with characteristics of both subordinated debt and preferred stock.",
        "label": "Trust Preferred Securities [Text Block]",
        "verboseLabel": "Trust preferred securities"
       }
      }
     },
     "localname": "TrustPreferredSecuritiesTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecurities"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_UnallocatedFinancingReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unallocated Financing Receivable [Member]",
        "terseLabel": "Unallocated Financing Receivable [Member]"
       }
      }
     },
     "localname": "UnallocatedFinancingReceivableMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_UnallocatedMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unallocated [Member]",
        "terseLabel": "Unallocated [Member]"
       }
      }
     },
     "localname": "UnallocatedMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesAllowanceForLoanLossesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_UnrealizedLossOnSecuritiesAvailableForSale": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The unrealized loss on securities available for sale held in non cash financing activities.",
        "label": "Unrealized Loss On Securities Available For Sale",
        "terseLabel": "Unrealized gains (losses) on securities available for sale"
       }
      }
     },
     "localname": "UnrealizedLossOnSecuritiesAvailableForSale",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_UsGovernmentAgenciesFairValueDisclosure": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This element represents the aggregate of the assets reported on the balance sheet at period end measured at fair value by the entity for US Government Agencies debt instruments owned. This element is intended to be used in connection with the fair value disclosures required in the footnote disclosures to the financial statements.",
        "label": "Us Government Agencies Fair Value Disclosure",
        "terseLabel": "US Government Agencies"
       }
      }
     },
     "localname": "UsGovernmentAgenciesFairValueDisclosure",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureFairValueRecurringAndNonRecurringBasisDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "vbfc_UseOfEstimatesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "n/a",
        "label": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimatesAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "xbrltype": "stringItemType"
    },
    "vbfc_UseOfEstimatesTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for the use of estimates and assumptions required in the presentation of financial statements.",
        "label": "Use Of Estimates [Text Block]",
        "verboseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimatesTextBlock",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureUseOfEstimates"
     ],
     "xbrltype": "textBlockItemType"
    },
    "vbfc_VillageFinancialStatutoryTrustIiMember": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "Village Financial Statutory Trust Ii [Member]",
        "terseLabel": "Village Financial Statutory Trust II [Member]"
       }
      }
     },
     "localname": "VillageFinancialStatutoryTrustIiMember",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureTrustPreferredSecuritiesDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "vbfc_WithAllowanceRecordedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "With Allowance Recorded [Abstract]",
        "verboseLabel": "With an allowance recorded"
       }
      }
     },
     "localname": "WithAllowanceRecordedAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "vbfc_WithNoRelatedAllowanceRecordedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-us": {
       "role": {
        "label": "With No Related Allowance Recorded [Abstract]",
        "verboseLabel": "With no related allowance recorded"
       }
      }
     },
     "localname": "WithNoRelatedAllowanceRecordedAbstract",
     "nsuri": "http://www.villagebank.com/20210630",
     "presentation": [
      "http://www.villagebank.com/role/DisclosureLoansAndAllowanceForLoanLossesImpairedLoansDetails"
     ],
     "xbrltype": "stringItemType"
    }
   },
   "unitCount": 9
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(4)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "250",
   "URI": "http://asc.fasb.org/topic&trid=2122394"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "272",
   "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "18",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(j)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "26",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "41",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(4)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953550-111524"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(3)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5212-111524"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5212-111524"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5212-111524"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5212-111524"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5212-111524"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5258-111524"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953659-111524"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5066-111524"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "33",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953676-111524"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "34",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953682-111524"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5086-111524"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5111-111524"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5111-111524"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5111-111524"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953401-111524"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.L.1)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74567-122707"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/subtopic&trid=2196772"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10152-111534"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)(ii)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121614798&loc=d3e15032-111544"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=121585226&loc=d3e18845-111554"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26610-111562"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121553693&loc=d3e26853-111562"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL6283291-111563"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(aa)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "http://asc.fasb.org/topic&trid=2122149"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.17)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27161-111563"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27198-111563"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27232-111563"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=SL120269820-111563"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27290-111563"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27290-111563"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(2)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27290-111563"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27337-111563"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27357-111563"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=121645371&loc=d3e27357-111563"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "320",
   "URI": "http://asc.fasb.org/topic&trid=2196928"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(3)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)(4)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919258-210447"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82921830-210448"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82921833-210448"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82921835-210448"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82921835-210448"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(e)(1)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82921835-210448"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82921842-210448"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "79",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82922352-210448"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "80",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82922355-210448"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121558606&loc=SL82898722-210454"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(3)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922890-210455"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922900-210455"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=121590138&loc=SL82922954-210456"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226348&loc=d3e2443-110228"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2921-110230"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "440",
   "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r257": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r258": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12021-110248"
  },
  "r259": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12069-110248"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "460",
   "URI": "http://asc.fasb.org/extlink&oid=121596127&loc=d3e12803-110250"
  },
  "r261": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=6802200&loc=SL6230698-112601"
  },
  "r262": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=120520924&loc=SL6036836-161870"
  },
  "r263": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=99377297&loc=d3e10013-112621"
  },
  "r264": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r265": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r266": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21475-112644"
  },
  "r267": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21506-112644"
  },
  "r268": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21521-112644"
  },
  "r269": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21538-112644"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r270": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770"
  },
  "r271": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045"
  },
  "r272": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045"
  },
  "r273": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r274": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(ii)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r275": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(01)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r276": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r277": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r278": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r279": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r280": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)(iv)(03)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r281": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(i)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r282": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(j)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r283": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(n)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920"
  },
  "r284": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921"
  },
  "r285": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(d)",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947"
  },
  "r286": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "80",
   "Topic": "715",
   "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948"
  },
  "r287": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899"
  },
  "r288": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r289": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r290": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901"
  },
  "r291": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a),(g)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r292": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r293": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r294": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r295": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r296": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)(iv)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r297": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r298": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(i)-(ii)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r299": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6812-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r300": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r301": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(2)(iii)(3)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r302": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r303": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r304": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r305": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901"
  },
  "r306": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r307": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r308": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r309": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r310": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r311": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r312": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r313": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(g)(2)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333"
  },
  "r314": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r315": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907"
  },
  "r316": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907"
  },
  "r317": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r318": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319"
  },
  "r319": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=49176635&loc=d3e9760-107771"
  },
  "r320": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r321": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r322": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "740"
  },
  "r323": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740"
  },
  "r324": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(2)",
   "Topic": "740"
  },
  "r325": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "10",
   "Subparagraph": "(d)(3)",
   "Topic": "740"
  },
  "r326": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r327": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r328": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r329": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312"
  },
  "r330": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324"
  },
  "r331": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "15",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116873149&loc=d3e923-111674"
  },
  "r332": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "19",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569616-111683"
  },
  "r333": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=108774443&loc=SL4569643-111683"
  },
  "r334": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r335": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988"
  },
  "r336": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r337": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r338": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r339": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226008-175313"
  },
  "r340": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "http://asc.fasb.org/topic&trid=2197479"
  },
  "r341": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959"
  },
  "r342": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5579245-113959"
  },
  "r343": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5580258-113959"
  },
  "r344": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5618551-113959"
  },
  "r345": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5624163-113959"
  },
  "r346": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(4)",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121590274&loc=SL5708775-113959"
  },
  "r347": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "182",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "815",
   "URI": "http://asc.fasb.org/extlink&oid=121582272&loc=SL5629052-113961"
  },
  "r348": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r349": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r350": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r351": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r352": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(1)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r353": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(bbb)(2)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r354": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r355": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258"
  },
  "r356": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2C",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL7498348-110258"
  },
  "r357": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258"
  },
  "r358": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258"
  },
  "r359": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "820",
   "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=SL6742756-110258"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r360": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=116690757&loc=d3e13220-108610"
  },
  "r361": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13433-108611"
  },
  "r362": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13467-108611"
  },
  "r363": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13476-108611"
  },
  "r364": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "825",
   "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612"
  },
  "r365": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r366": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900"
  },
  "r367": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r368": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(b)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r369": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(c)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(i-k)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r370": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r371": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "20",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900"
  },
  "r372": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901"
  },
  "r373": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=6450988&loc=d3e26243-108391"
  },
  "r374": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28541-108399"
  },
  "r375": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28551-108399"
  },
  "r376": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=119993939&loc=d3e28555-108399"
  },
  "r377": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400"
  },
  "r378": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121616839&loc=d3e45280-112737"
  },
  "r379": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(4)",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=121568338&loc=d3e45377-112738"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669646-108580"
  },
  "r380": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980"
  },
  "r381": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971"
  },
  "r382": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r383": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864"
  },
  "r384": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "850",
   "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864"
  },
  "r385": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r386": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)(ii)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r387": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r388": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r389": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e637-108580"
  },
  "r390": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(bb)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r391": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r392": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r393": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719"
  },
  "r394": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r395": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r396": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r397": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719"
  },
  "r398": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=66007379&loc=d3e113888-111728"
  },
  "r399": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(b)(1)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL6224234-111729"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e640-108580"
  },
  "r400": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=109249958&loc=SL34722452-111729"
  },
  "r401": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r402": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r403": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r404": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)(i)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122625-111746"
  },
  "r405": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r406": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r407": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r408": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(4)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r409": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(5)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e681-108580"
  },
  "r410": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(6)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r411": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(a)(7)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r412": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(b)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r413": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(1)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r414": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(2)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r415": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "50",
   "Subparagraph": "(e)(3)",
   "Topic": "860",
   "URI": "http://asc.fasb.org/extlink&oid=116651436&loc=d3e122739-111746"
  },
  "r416": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "910",
   "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733"
  },
  "r417": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 11.L)",
   "Topic": "924",
   "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856"
  },
  "r418": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r419": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669686-108580"
  },
  "r420": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "926",
   "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079"
  },
  "r421": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "320",
   "Topic": "940",
   "URI": "http://asc.fasb.org/subtopic&trid=2176304"
  },
  "r422": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r423": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(10))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r424": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r425": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r426": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r427": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r428": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r429": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(6))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e689-108580"
  },
  "r430": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.1,2,3)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r431": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.10(4))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r432": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.12)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r433": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.13(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r434": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.13(3)(a))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r435": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r436": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.15)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r437": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.16)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r438": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.3)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r439": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.7)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724391-108580"
  },
  "r440": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r441": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r442": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r443": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(26))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r444": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(27))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r445": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.1)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r446": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.1-5)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r447": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.10)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r448": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.11)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r449": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.12)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL34724394-108580"
  },
  "r450": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.13(h))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r451": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.13)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r452": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.14(b))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r453": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.14(d))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r454": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.14)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r455": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.4)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r456": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.6)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r457": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.7,8)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r458": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04.9)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260"
  },
  "r459": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=121551529&loc=d3e60009-112784"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r460": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(1))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r461": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "235",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884"
  },
  "r462": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62557-112803"
  },
  "r463": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=d3e62586-112803"
  },
  "r464": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(a)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=SL120269850-112803"
  },
  "r465": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(b)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=SL120269850-112803"
  },
  "r466": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(c)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=SL120269850-112803"
  },
  "r467": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "320",
   "Subparagraph": "(d)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=120252992&loc=SL120269850-112803"
  },
  "r468": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "320",
   "Topic": "942",
   "URI": "http://asc.fasb.org/subtopic&trid=2209399"
  },
  "r469": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "325",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75031641&loc=d3e63345-112809"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r470": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "405",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116652737&loc=d3e64164-112818"
  },
  "r471": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6479118&loc=d3e64650-112822"
  },
  "r472": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64702-112823"
  },
  "r473": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "470",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=75038535&loc=d3e64711-112823"
  },
  "r474": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(a)(2)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=117337116&loc=SL5958568-112826"
  },
  "r475": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(c)(1)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=117337116&loc=SL5958568-112826"
  },
  "r476": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=117337116&loc=SL5958570-112826"
  },
  "r477": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "505",
   "Subparagraph": "(a)(2)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=117337116&loc=d3e65071-112826"
  },
  "r478": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(15)(b)(2))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r479": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16)(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580"
  },
  "r480": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r481": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r482": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r483": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r484": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r485": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r486": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r487": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r488": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.15(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910"
  },
  "r489": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r490": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r491": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(22))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r492": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(23))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r493": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r494": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(9))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r495": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04.3(a))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r496": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04.7)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263"
  },
  "r497": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r498": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(d)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439"
  },
  "r499": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580"
  },
  "r500": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r501": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r502": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r503": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r504": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(f)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r505": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r506": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(i)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r507": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(ii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r508": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iii)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r509": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(g)(2)(iv)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=d3e557-108580"
  },
  "r510": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(1)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r511": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "65",
   "SubTopic": "40",
   "Subparagraph": "(h)(2)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641"
  },
  "r512": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "80",
   "Subparagraph": "(e)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=121641442&loc=d3e19393-158473"
  },
  "r513": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=66023616&loc=SL35737432-115832"
  },
  "r514": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "220",
   "Subparagraph": "(k)",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=118262090&loc=SL114874205-224268"
  },
  "r515": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.6-07.2(a),(b),(c),(d))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272"
  },
  "r516": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12.6(a)(3))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611133-123010"
  },
  "r517": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 1))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r518": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 6))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r519": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column B)(Footnote 7))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=121640130&loc=d3e1436-108581"
  },
  "r520": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 1))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r521": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 6))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r522": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 7))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r523": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 1))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r524": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 6))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r525": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Column D)(Footnote 7))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r526": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-12B(Footnote 11(a)(3)))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010"
  },
  "r527": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13D(Column B)(Footnote 2))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=SL120429264-123010"
  },
  "r528": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5D",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-13D(Column C)(Footnote 2))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=SL120429264-123010"
  },
  "r529": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column A))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1)(e))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868656-224227"
  },
  "r530": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column B))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010"
  },
  "r531": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column C))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010"
  },
  "r532": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "320",
   "Subparagraph": "(SX 210.12-15(Column D))",
   "Topic": "946",
   "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611379-123010"
  },
  "r533": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "320",
   "Topic": "946",
   "URI": "http://asc.fasb.org/subtopic&trid=2324412"
  },
  "r534": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)(1)",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=6490092&loc=d3e47080-110998"
  },
  "r535": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=6490092&loc=d3e47304-110998"
  },
  "r536": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "310",
   "Topic": "948",
   "URI": "http://asc.fasb.org/extlink&oid=120238483&loc=d3e48678-111004"
  },
  "r537": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "360",
   "Subparagraph": "(SX 210.12-28(Footnote 4))",
   "Topic": "970",
   "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024"
  },
  "r538": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r539": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(210.5-03(11))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r540": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "308",
   "Subsection": "a"
  },
  "r541": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r542": {
   "Name": "Industry Guide",
   "Number": "3",
   "Paragraph": "D-E",
   "Publisher": "SEC",
   "Section": "V"
  },
  "r543": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r544": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(1))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(24))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(25))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(17))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(7)(c))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(8))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(9)(a))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(b)(4))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4,6)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.6)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3151-108585"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3461-108585"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21C",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=SL94080552-108585"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3095-108585"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(b))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e),(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(1)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(m)(1)(a)(i))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "23",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21728-107793"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(2)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(3)",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  }
 },
 "version": "2.1"
}
