 | us-gaap:RedeemableNoncontrollingInterestEquityFairValueAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmountAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:RedeemableNoncontrollingInterestEquityRedemptionValueAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:MinorityInterestDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:MinorityInterestChangeInRedemptionValue | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:MinorityInterestDecreaseFromRedemptions | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:MinorityInterestExplanationOfIncreaseDecrease | parent-child | http://fasb.org/us-gaap/role/disclosure/MinorityInterest |
 | us-gaap:RedeemableNoncontrollingInterestByLegalEntityTable | all | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:RedeemableNoncontrollingInterestEquityFairValueAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmountAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:RedeemableNoncontrollingInterestEquityRedemptionValueAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestChangeInRedemptionValue | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestDecreaseFromRedemptions | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestExplanationOfIncreaseDecrease | domain-member | http://fasb.org/us-gaap/role/disclosure/MinorityInterestRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:RedeemableNoncontrollingInterestEquityFairValueAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmountAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:RedeemableNoncontrollingInterestEquityRedemptionValueAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:MinorityInterestDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:MinorityInterestChangeInRedemptionValue | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:MinorityInterestDecreaseFromRedemptions | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:MinorityInterestExplanationOfIncreaseDecrease | parent-child | http://fasb.org/us-gaap/role/disclosure/TemporaryEquity |
 | us-gaap:RedeemableNoncontrollingInterestByLegalEntityTable | all | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:RedeemableNoncontrollingInterestEquityFairValueAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmountAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:RedeemableNoncontrollingInterestEquityRedemptionValueAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestOwnershipPercentageByNoncontrollingOwners | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestChangeInRedemptionValue | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestDecreaseFromRedemptions | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:PaymentsForRepurchaseOfRedeemableNoncontrollingInterest | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |
 | us-gaap:MinorityInterestExplanationOfIncreaseDecrease | domain-member | http://fasb.org/us-gaap/role/disclosure/TemporaryEquityRedeemableNoncontrollingInterestByLegalEntityTable |