 | us-gaap:DebtSecuritiesHeldToMaturityAllowanceForCreditLossRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturityChangeInMethodCreditLossExpenseReversal | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturityPurchase | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturitySale | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturityChangeInPresentValueInterestIncome | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:DebtSecuritiesHeldToMaturityAllowanceForCreditLossTable | all | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable |
 | us-gaap:DebtSecuritiesHeldToMaturityAllowanceForCreditLossRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable |
 | us-gaap:DebtSecuritiesHeldToMaturityChangeInMethodCreditLossExpenseReversal | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable |
 | us-gaap:DebtSecuritiesHeldToMaturityPurchase | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable |
 | us-gaap:DebtSecuritiesHeldToMaturitySale | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable |
 | us-gaap:DebtSecuritiesHeldToMaturityChangeInPresentValueInterestIncome | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityAllowanceForCreditLossTable |