 | us-gaap:PropertyPlantAndEquipmentGross | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:PropertyPlantAndEquipmentAdditions | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:PropertyPlantAndEquipmentDisposals | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:PropertyPlantAndEquipmentTransfersAndChanges | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:PropertyPlantAndEquipmentGrossPeriodIncreaseDecrease | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:PropertyPlantAndEquipmentGross | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:PropertyPlantAndEquipmentGross | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:PropertyPlantAndEquipmentAdditions | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:PropertyPlantAndEquipmentDisposals | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:PropertyPlantAndEquipmentTransfersAndChanges | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:PropertyPlantAndEquipmentGrossPeriodIncreaseDecrease | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |