 | us-gaap:EquipmentLeasedToOtherPartyMember | dep-concept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:ToolsDiesAndMoldsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:TechnologyEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:ComputerEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:OfficeEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:EquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:OtherMachineryAndEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:TransportationEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:EnergyEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:ToolsDiesAndMoldsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:TechnologyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:ComputerEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:OfficeEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:EquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:OtherMachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:TransportationEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:EnergyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:ToolsDiesAndMoldsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:TechnologyEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:ComputerEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:OfficeEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:EquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:OtherMachineryAndEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:TransportationEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:EnergyEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipment |
 | us-gaap:ToolsDiesAndMoldsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:TechnologyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:ComputerEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:OfficeEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:EquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:OtherMachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:TransportationEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:EnergyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/PropertyPlantAndEquipmentScheduleOfPropertyPlantAndEquipmentTable |
 | us-gaap:ToolsDiesAndMoldsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:TechnologyEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:ComputerEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:OfficeEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:EquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:OtherMachineryAndEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:TransportationEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:EnergyEquipmentMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:ToolsDiesAndMoldsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:TechnologyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:ComputerEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:OfficeEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:EquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:OtherMachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:TransportationEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:EnergyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LesseeLeaseDescriptionTable |
 | us-gaap:ToolsDiesAndMoldsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:TechnologyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:ComputerEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:OfficeEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:EquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:OtherMachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:TransportationEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:EnergyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842LessorLeaseDescriptionTable |
 | us-gaap:ToolsDiesAndMoldsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842PropertySubjectToOrAvailableForOperatingLeaseByMajorPropertyClassTable |
 | us-gaap:TechnologyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842PropertySubjectToOrAvailableForOperatingLeaseByMajorPropertyClassTable |
 | us-gaap:ComputerEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842PropertySubjectToOrAvailableForOperatingLeaseByMajorPropertyClassTable |
 | us-gaap:OfficeEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842PropertySubjectToOrAvailableForOperatingLeaseByMajorPropertyClassTable |
 | us-gaap:EquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842PropertySubjectToOrAvailableForOperatingLeaseByMajorPropertyClassTable |
 | us-gaap:OtherMachineryAndEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842PropertySubjectToOrAvailableForOperatingLeaseByMajorPropertyClassTable |
 | us-gaap:TransportationEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842PropertySubjectToOrAvailableForOperatingLeaseByMajorPropertyClassTable |
 | us-gaap:EnergyEquipmentMember | domain-member | http://fasb.org/us-gaap/role/disclosure/Leases842PropertySubjectToOrAvailableForOperatingLeaseByMajorPropertyClassTable |