 | us-gaap:DebtSecuritiesHeldToMaturityNonaccrual | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturityNonaccrualInterestIncome | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturity90DaysOrMorePastDueStillAccruing | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturityNonaccrualNoAllowance | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturityExcludingAccruedInterestNonaccrualAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturityNonaccrualTable | all | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityNonaccrualTable |
 | us-gaap:DebtSecuritiesHeldToMaturityNonaccrual | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityNonaccrualTable |
 | us-gaap:DebtSecuritiesHeldToMaturityNonaccrualInterestIncome | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityNonaccrualTable |
 | us-gaap:DebtSecuritiesHeldToMaturity90DaysOrMorePastDueStillAccruing | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityNonaccrualTable |
 | us-gaap:DebtSecuritiesHeldToMaturityNonaccrualNoAllowance | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityNonaccrualTable |
 | us-gaap:DebtSecuritiesHeldToMaturityExcludingAccruedInterestNonaccrualAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityNonaccrualTable |