 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp02 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp02ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp02ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp103 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp103DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp103DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp121 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp121DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp121DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp122 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp122DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp122DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp123 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp123DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp123DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp125 |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp125DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp125DefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsDefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsDefinedBenefitPlansAndOtherPostretirementBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsDefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsDefinedContributionPlanTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-default | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |
 | us-gaap:RetirementPlanSponsorLocationDomain | dimension-domain | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |