 | us-gaap:FinancialStandbyLetterOfCreditMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:MarketValueGuaranteeMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:PropertyLeaseGuaranteeMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:StockMarketPriceGuaranteeMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeOfScheduledContractualCashFlowsFromAssetsOfSpecialPurposeEntitySPEMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeOfBusinessRevenueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:FinancialStandbyLetterOfCreditMember | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:MarketValueGuaranteeMember | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:PropertyLeaseGuaranteeMember | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:StockMarketPriceGuaranteeMember | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeOfScheduledContractualCashFlowsFromAssetsOfSpecialPurposeEntitySPEMember | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeOfBusinessRevenueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |