 | us-gaap:DebtSecuritiesTradingRealizedGainLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:HeldtomaturitySecuritiesSoldSecurityRealizedGainLossExcludingOtherThanTemporaryImpairments | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:DebtSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairment | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:DebtSecuritiesTradingRealizedGainLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfGainLossOnInvestmentsTable |
 | us-gaap:DebtSecuritiesAvailableForSaleRealizedGainLossExcludingOtherThanTemporaryImpairment | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfGainLossOnInvestmentsTable |
 | us-gaap:HeldtomaturitySecuritiesSoldSecurityRealizedGainLossExcludingOtherThanTemporaryImpairments | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfGainLossOnInvestmentsTable |
 | us-gaap:DebtSecuritiesRealizedGainLossExcludingOtherThanTemporaryImpairment | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesScheduleOfGainLossOnInvestmentsTable |