 | us-gaap:UnusualOrInfrequentItemNatureOfEventOrTransaction | parent-child | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItems |
 | us-gaap:UnusualOrInfrequentItemNetGainLossAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItems |
 | us-gaap:UnusualOrInfrequentItemEarningsPerShareImpactGross | parent-child | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItems |
 | us-gaap:UnusualOrInfrequentItemEarningsPerShareImpactNet | parent-child | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItems |
 | us-gaap:UnusualOrInfrequentTaxEffect | parent-child | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItems |
 | us-gaap:UnusualOrInfrequentItemTable | all | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItemsUnusualOrInfrequentItemTable |
 | us-gaap:UnusualOrInfrequentItemNatureOfEventOrTransaction | domain-member | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItemsUnusualOrInfrequentItemTable |
 | us-gaap:UnusualOrInfrequentItemNetGainLossAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItemsUnusualOrInfrequentItemTable |
 | us-gaap:UnusualOrInfrequentItemEarningsPerShareImpactGross | domain-member | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItemsUnusualOrInfrequentItemTable |
 | us-gaap:UnusualOrInfrequentItemEarningsPerShareImpactNet | domain-member | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItemsUnusualOrInfrequentItemTable |
 | us-gaap:UnusualOrInfrequentTaxEffect | domain-member | http://fasb.org/us-gaap/role/disclosure/ExtraordinaryAndUnusualItemsUnusualOrInfrequentItemTable |