 | us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteReasons | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteItems | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteReasons | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteItems | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |
 | us-gaap:BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentsRelatedToPreviousPeriod | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsScheduleOfBusinessAcquisitionsByAcquisitionTable |