 | us-gaap:IntangibleAssetsAmortizationPeriodMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:WarrantyObligationsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:InventoryValuationAndObsolescenceMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:UncollectibleReceivablesMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ContractsAccountedForUnderPercentageOfCompletionMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAssumptionsForPensionPlansMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAccountingMethodAccountedForAsChangeInEstimateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:SalesReturnsAndAllowancesMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:RegulatoryReviewsOfFilingsMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:DisputesMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ServiceLifeMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:SalvageValueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:IntangibleAssetsAmortizationPeriodMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:WarrantyObligationsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:InventoryValuationAndObsolescenceMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:UncollectibleReceivablesMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:ContractsAccountedForUnderPercentageOfCompletionMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:ChangeInAssumptionsForPensionPlansMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:ChangeInAccountingMethodAccountedForAsChangeInEstimateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:SalesReturnsAndAllowancesMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:RegulatoryReviewsOfFilingsMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:DisputesMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:ServiceLifeMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | us-gaap:SalvageValueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |