 | us-gaap:AssetAcquisitionDateOfAcquisitionAgreement | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:AssetAcquisitionEffectiveDateOfAcquisition | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:AssetAcquisitionPriceOfAcquisitionExpected | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:AssetAcquisitionIndemnificationAssetAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:AssetAcquisitionConsiderationTransferredAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BusinessCombinations |
 | us-gaap:AssetAcquisitionTable | all | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsAssetAcquisitionTable |
 | us-gaap:AssetAcquisitionDateOfAcquisitionAgreement | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsAssetAcquisitionTable |
 | us-gaap:AssetAcquisitionEffectiveDateOfAcquisition | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsAssetAcquisitionTable |
 | us-gaap:AssetAcquisitionPriceOfAcquisitionExpected | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsAssetAcquisitionTable |
 | us-gaap:AssetAcquisitionIndemnificationAssetAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsAssetAcquisitionTable |
 | us-gaap:AssetAcquisitionConsiderationTransferredAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BusinessCombinationsAssetAcquisitionTable |