 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterTenYearsFairValue | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate | parent-child | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecurities |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesDebtSecuritiesAvailableForSaleTable |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesDebtSecuritiesAvailableForSaleTable |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveThroughTenYearsFairValue | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesDebtSecuritiesAvailableForSaleTable |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterTenYearsFairValue | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesDebtSecuritiesAvailableForSaleTable |
 | us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate | domain-member | http://fasb.org/us-gaap/role/disclosure/InvestmentsDebtAndEquitySecuritiesDebtSecuritiesAvailableForSaleTable |