 | us-gaap:LossContingencyManagementsAssessmentAndProcess | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyEstimateOfPossibleLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyRangeOfPossibleLossPortionNotAccrued | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyInestimableLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyEstimatedRecoveryFromThirdParty | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyLossInPeriod | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyManagementsAssessmentAndProcess | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyEstimateOfPossibleLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyRangeOfPossibleLossPortionNotAccrued | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyInestimableLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyEstimatedRecoveryFromThirdParty | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyLossInPeriod | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |