 | us-gaap:InventoryFinishedGoodsAndWorkInProcess | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:InventoryRawMaterialsAndSupplies | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:OtherInventory | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:InventoryForLongTermContractsOrPrograms | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:InventoryValuationReserves | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:InventoryLIFOReserve | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:InventoryNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:InventoryFinishedGoodsAndWorkInProcess | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:InventoryRawMaterialsAndSupplies | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:OtherInventory | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:InventoryForLongTermContractsOrPrograms | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:InventoryValuationReserves | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:InventoryLIFOReserve | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:InventoryNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:InventoryFinishedGoods | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:InventoryForLongTermContractsOrPrograms | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:InventoryWorkInProcess | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:InventoryRawMaterialsAndSupplies | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:InventoryValuationReserves | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:InventoryLIFOReserve | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:InventoryNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:InventoryFinishedGoods | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:InventoryForLongTermContractsOrPrograms | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:InventoryWorkInProcess | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:InventoryRawMaterialsAndSupplies | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:InventoryValuationReserves | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:InventoryLIFOReserve | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:InventoryNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:InventoryGrossAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/Inventory |
 | us-gaap:InventoryAdjustmentsAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/Inventory |
 | us-gaap:InventoryNet | parent-child | http://fasb.org/us-gaap/role/disclosure/Inventory |
 | us-gaap:InventoryGrossAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/InventoryInventoryCurrentTable |
 | us-gaap:InventoryAdjustmentsAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/InventoryInventoryCurrentTable |
 | us-gaap:InventoryNet | domain-member | http://fasb.org/us-gaap/role/disclosure/InventoryInventoryCurrentTable |