 | us-gaap:LossContingencyLawsuitFilingDate | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyNameOfDefendant | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyNameOfPlaintiff | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyTrialOrAlternativeDisputeResolution | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyPartiesJointlyAndSeverallyLiableInLitigation | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyDomicileOfLitigation | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyAllegations | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyDamagesSought | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyDamagesSoughtValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyDamagesAwardedValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyDamagesPaidValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyLawsAffected | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyActionsTakenByPlaintiff | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyActionsTakenByPlaintiffsRepresentative | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyActionsTakenByDefendant | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyActionsTakenByCourtArbitratorOrMediator | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyRequestForInformation | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyExpectedTrialCommencement | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyOpinionOfCounsel | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyNumberOfDefendants | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyDateOfDismissal | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencyLawsuitFilingDate | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyNameOfDefendant | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyNameOfPlaintiff | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyTrialOrAlternativeDisputeResolution | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyPartiesJointlyAndSeverallyLiableInLitigation | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyDomicileOfLitigation | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyAllegations | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyDamagesSought | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyDamagesSoughtValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyDamagesAwardedValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyDamagesPaidValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyLawsAffected | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyActionsTakenByPlaintiff | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyActionsTakenByPlaintiffsRepresentative | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyActionsTakenByDefendant | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyActionsTakenByCourtArbitratorOrMediator | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyRequestForInformation | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyExpectedTrialCommencement | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyOpinionOfCounsel | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyNumberOfDefendants | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencyDateOfDismissal | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |