 | us-gaap:LandMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:LandImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:LeaseholdImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:BuildingMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:BuildingImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:ManufacturingFacilityMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:LandAndLandImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:LeaseholdsAndLeaseholdImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:BuildingAndBuildingImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:LandBuildingsAndImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:LandMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LeaseholdImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:BuildingMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:BuildingImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:ManufacturingFacilityMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandAndLandImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LeaseholdsAndLeaseholdImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:BuildingAndBuildingImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandBuildingsAndImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:LandImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:LeaseholdImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:BuildingMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:BuildingImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:ManufacturingFacilityMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:LandAndLandImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:LeaseholdsAndLeaseholdImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:BuildingAndBuildingImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:LandBuildingsAndImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:LandMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LeaseholdImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:BuildingMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:BuildingImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:ManufacturingFacilityMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandAndLandImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LeaseholdsAndLeaseholdImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:BuildingAndBuildingImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandBuildingsAndImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:LandImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:LeaseholdImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:BuildingMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:BuildingImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:ManufacturingFacilityMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:LandAndLandImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:LeaseholdsAndLeaseholdImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:BuildingAndBuildingImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:LandBuildingsAndImprovementsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:LandMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:LandImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:LeaseholdImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:BuildingMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:BuildingImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:ManufacturingFacilityMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:LandAndLandImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:LeaseholdsAndLeaseholdImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:BuildingAndBuildingImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:LandBuildingsAndImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:LandMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:LandImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:LeaseholdImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:BuildingMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:BuildingImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:ManufacturingFacilityMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:LandAndLandImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:LeaseholdsAndLeaseholdImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:BuildingAndBuildingImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:LandBuildingsAndImprovementsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |