 | us-gaap:BusinessCombinationDescriptionAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessAcquisitionDateOfAcquisitionAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationConsiderationTransferredIncludingEquityInterestInAcquireeHeldPriorToCombinationAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedLessNoncontrollingInterestAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationIndemnificationAssetsAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationAcquiredReceivablesAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationAssetsAndLiabilitiesArisingFromContingenciesAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationBargainPurchaseAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationAcquisitionOfLessThan100PercentNoncontrollingInterestAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationStepAcquisitionAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationProvisionalInformationAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTable | all | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationDescriptionAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessAcquisitionDateOfAcquisitionAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationConsiderationTransferredIncludingEquityInterestInAcquireeHeldPriorToCombinationAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedLessNoncontrollingInterestAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationIndemnificationAssetsAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationAcquiredReceivablesAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationAssetsAndLiabilitiesArisingFromContingenciesAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationBargainPurchaseAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationAcquisitionOfLessThan100PercentNoncontrollingInterestAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationStepAcquisitionAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationProvisionalInformationAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |