 | us-gaap:OperatingLossCarryforwards | parent-child | http://fasb.org/us-gaap/role/disclosure/IncomeTaxes |
 | us-gaap:OperatingLossCarryforwardsExpirationDate | parent-child | http://fasb.org/us-gaap/role/disclosure/IncomeTaxes |
 | us-gaap:OperatingLossCarryforwardsLimitationsOnUse | parent-child | http://fasb.org/us-gaap/role/disclosure/IncomeTaxes |
 | us-gaap:DeferredTaxAssetsOperatingLossCarryforwards | parent-child | http://fasb.org/us-gaap/role/disclosure/IncomeTaxes |
 | us-gaap:OperatingLossCarryforwardsValuationAllowance | parent-child | http://fasb.org/us-gaap/role/disclosure/IncomeTaxes |
 | us-gaap:OperatingLossCarryforwardsTable | all | http://fasb.org/us-gaap/role/disclosure/IncomeTaxesOperatingLossCarryforwardsTable |
 | us-gaap:OperatingLossCarryforwards | domain-member | http://fasb.org/us-gaap/role/disclosure/IncomeTaxesOperatingLossCarryforwardsTable |
 | us-gaap:OperatingLossCarryforwardsExpirationDate | domain-member | http://fasb.org/us-gaap/role/disclosure/IncomeTaxesOperatingLossCarryforwardsTable |
 | us-gaap:OperatingLossCarryforwardsLimitationsOnUse | domain-member | http://fasb.org/us-gaap/role/disclosure/IncomeTaxesOperatingLossCarryforwardsTable |
 | us-gaap:DeferredTaxAssetsOperatingLossCarryforwards | domain-member | http://fasb.org/us-gaap/role/disclosure/IncomeTaxesOperatingLossCarryforwardsTable |
 | us-gaap:OperatingLossCarryforwardsValuationAllowance | domain-member | http://fasb.org/us-gaap/role/disclosure/IncomeTaxesOperatingLossCarryforwardsTable |