 | us-gaap:InventoryFinishedGoodsAndWorkInProcessAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/Inventory |
 | us-gaap:InventoryRawMaterialsAndSuppliesAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/Inventory |
 | us-gaap:OtherInventoryAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/Inventory |
 | us-gaap:InventoryForLongTermContractsOrPrograms | parent-child | http://fasb.org/us-gaap/role/disclosure/Inventory |
 | us-gaap:InventoryGross | parent-child | http://fasb.org/us-gaap/role/disclosure/Inventory |
 | us-gaap:InventoryFinishedGoodsAndWorkInProcessAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/InventoryInventoryCurrentTable |
 | us-gaap:InventoryRawMaterialsAndSuppliesAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/InventoryInventoryCurrentTable |
 | us-gaap:OtherInventoryAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/InventoryInventoryCurrentTable |
 | us-gaap:InventoryForLongTermContractsOrPrograms | domain-member | http://fasb.org/us-gaap/role/disclosure/InventoryInventoryCurrentTable |
 | us-gaap:InventoryGross | domain-member | http://fasb.org/us-gaap/role/disclosure/InventoryInventoryCurrentTable |