 | us-gaap:LossContingencySettlementAgreementDate | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencySettlementAgreementCounterpartysName | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencySettlementAgreementCourt | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencySettlementAgreementTerms | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:GainLossRelatedToLitigationSettlementAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingencies |
 | us-gaap:LossContingencySettlementAgreementDate | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencySettlementAgreementCounterpartysName | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencySettlementAgreementCourt | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:LossContingencySettlementAgreementTerms | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |
 | us-gaap:GainLossRelatedToLitigationSettlementAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/CommitmentAndContingenciesLossContingenciesTable |