 | us-gaap:GuaranteeObligationsTerm | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsOriginAndPurpose | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsTriggeringEvent | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsMaximumExposure | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsUnlimitedExposure | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsMaximumExposureInestimable | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsCurrentCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsRecourseProvisions | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsLiquidationProceeds | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsLiquidationProceedsPercentage | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsCollateralHeldDirectlyOrByThirdParties | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:GuaranteeObligationsRelatedPartyDisclosure | parent-child | http://fasb.org/us-gaap/role/disclosure/Guarantees |
 | us-gaap:ScheduleOfGuaranteeObligationsTable | all | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsTerm | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsOriginAndPurpose | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsTriggeringEvent | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsMaximumExposure | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsUnlimitedExposure | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsMaximumExposureInestimable | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsCurrentCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsRecourseProvisions | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsLiquidationProceeds | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsLiquidationProceedsPercentage | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsCollateralHeldDirectlyOrByThirdParties | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |
 | us-gaap:GuaranteeObligationsRelatedPartyDisclosure | domain-member | http://fasb.org/us-gaap/role/disclosure/GuaranteesScheduleOfGuaranteeObligationsTable |