 | us-gaap:LeaseArrangementTypeDomain | dep-partConcept-deprecatedAggregateConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:LandAndBuildingMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:MachineryAndEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:PropertyPlantAndEquipmentOtherTypesMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:LandAndBuildingMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:MachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:PropertyPlantAndEquipmentOtherTypesMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandAndBuildingMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:MachineryAndEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:PropertyPlantAndEquipmentOtherTypesMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:LandAndBuildingMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:MachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:PropertyPlantAndEquipmentOtherTypesMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:LandAndBuildingMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:MachineryAndEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:PropertyPlantAndEquipmentOtherTypesMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:LandAndBuildingMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:MachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:PropertyPlantAndEquipmentOtherTypesMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:LandAndBuildingMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:MachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:PropertyPlantAndEquipmentOtherTypesMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |