 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022 |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022 |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterFiveThroughTenYearsNetCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022 |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterTenYearsNetCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022 |
 | us-gaap:HeldToMaturitySecurities | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022 |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022ScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022ScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterFiveThroughTenYearsNetCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022ScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterTenYearsNetCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022ScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecurities | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesTmp022ScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterFiveThroughTenYearsNetCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterTenYearsNetCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterFiveThroughTenYearsNetCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesAfterTenYearsNetCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfHeldToMaturitySecuritiesTable |
 | us-gaap:HeldToMaturitySecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfHeldToMaturitySecuritiesTable |