 | us-gaap:GoodwillRollForward | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:GoodwillImpairedAccumulatedImpairmentLossAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:GoodwillImpairedAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:GoodwillChangeInGoodwillAllocationDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:GoodwillNotAllocatedReason | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:GoodwillNotAllocatedAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:GoodwillImpairmentLossNetOfTax | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:GoodwillNameOfSegmentExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:ReportingUnitPercentageOfFairValueInExcessOfCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:ReportingUnitAmountOfFairValueInExcessOfCarryingAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:ReportingUnitZeroOrNegativeCarryingAmountNumber | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:ReportingUnitZeroOrNegativeCarryingAmountName | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:ReportingUnitZeroOrNegativeCarryingAmountAmountOfAllocatedGoodwill | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:ReportingUnitNameOfSegmentExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:NumberOfReportingUnits | parent-child | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOther |
 | us-gaap:ScheduleOfGoodwillTable | all | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:GoodwillRollForward | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:GoodwillImpairedAccumulatedImpairmentLossAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:GoodwillImpairedAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:GoodwillChangeInGoodwillAllocationDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:GoodwillNotAllocatedReason | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:GoodwillNotAllocatedAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:GoodwillImpairmentLossNetOfTax | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:GoodwillNameOfSegmentExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:ReportingUnitPercentageOfFairValueInExcessOfCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:ReportingUnitAmountOfFairValueInExcessOfCarryingAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:ReportingUnitZeroOrNegativeCarryingAmountNumber | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:ReportingUnitZeroOrNegativeCarryingAmountName | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:ReportingUnitZeroOrNegativeCarryingAmountAmountOfAllocatedGoodwill | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:ReportingUnitNameOfSegmentExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |
 | us-gaap:NumberOfReportingUnits | domain-member | http://fasb.org/us-gaap/role/disclosure/IntangibleAssetsGoodwillAndOtherScheduleOfGoodwillTable |