 | us-gaap:RestructuringAndRelatedActivitiesDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligations |
 | us-gaap:RestructuringAndRelatedActivitiesInitiationDate | parent-child | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligations |
 | us-gaap:RestructuringAndRelatedActivitiesCompletionDate | parent-child | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligations |
 | us-gaap:BusinessAcquisitionPlannedRestructuringActivitiesDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligations |
 | us-gaap:RestructuringAndRelatedCostLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligations |
 | us-gaap:RestructuringReserveLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligations |
 | us-gaap:RestructuringNameOfSegmentExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligations |
 | us-gaap:ScheduleOfRestructuringAndRelatedCostsTable | all | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:RestructuringAndRelatedActivitiesDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:RestructuringAndRelatedActivitiesInitiationDate | domain-member | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:RestructuringAndRelatedActivitiesCompletionDate | domain-member | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:BusinessAcquisitionPlannedRestructuringActivitiesDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:RestructuringAndRelatedCostLineItems | domain-member | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:RestructuringReserveLineItems | domain-member | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |
 | us-gaap:RestructuringNameOfSegmentExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/ExitOrDisposalCostObligationsScheduleOfRestructuringAndRelatedCostsTable |