 | us-gaap:FinitelivedIntangibleAssetsAcquired1 | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetWeightedAveragePeriodBeforeRenewalOrExtension | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable | all | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable |
 | us-gaap:FinitelivedIntangibleAssetsAcquired1 | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetWeightedAveragePeriodBeforeRenewalOrExtension | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable |
 | us-gaap:FinitelivedIntangibleAssetsAcquired1 | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:AmortizationOfIntangibleAssets | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable | all | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable |
 | us-gaap:FinitelivedIntangibleAssetsAcquired1 | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetResidualValue | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable |
 | us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable |
 | us-gaap:AmortizationOfIntangibleAssets | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable |