 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp02 |
 | us-gaap:RetirementPlanSponsorLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp02 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp02 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp02ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp02ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp012 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp012 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp012ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp011 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp011 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp011ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp03 |
 | us-gaap:RetirementPlanTaxStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp03 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp03 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp03ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTaxStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp03ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp04 |
 | us-gaap:RetirementPlanFundingStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp04 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp04 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp04ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanFundingStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp04ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp041 |
 | us-gaap:RetirementPlanFundingStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp041 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp041 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp041ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanFundingStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp041ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05 |
 | us-gaap:RetirementPlanSponsorLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05 |
 | us-gaap:RetirementPlanNameAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanNameAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp05ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06 |
 | us-gaap:RetirementPlanSponsorLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06 |
 | us-gaap:RetirementPlanTaxStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTaxStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp06ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07 |
 | us-gaap:RetirementPlanSponsorLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07 |
 | us-gaap:RetirementPlanTaxStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07 |
 | us-gaap:RetirementPlanFundingStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTaxStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanFundingStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp07ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08 |
 | us-gaap:RetirementPlanSponsorLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08 |
 | us-gaap:RetirementPlanFundingStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanFundingStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp08ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp09 |
 | us-gaap:RetirementPlanFundingStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp09 |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp09 |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp09ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanFundingStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/RetirementBenefitsTmp09ScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RetirementPlanSponsorLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RetirementPlanTaxStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RetirementPlanFundingStatusAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RetirementPlanNameAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:FairValueByFairValueHierarchyLevelAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:EquitySecuritiesByInvestmentObjectiveAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RelatedPartyTransactionsByRelatedPartyAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RelatedPartyTransactionAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | srt:RangeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:DefinedBenefitPlanDisclosureLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanSponsorLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanTaxStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanFundingStatusAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RetirementPlanNameAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:DefinedBenefitPlanByPlanAssetCategoriesAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:FairValueByFairValueHierarchyLevelAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:EquitySecuritiesByInvestmentObjectiveAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RelatedPartyTransactionsByRelatedPartyAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | us-gaap:RelatedPartyTransactionAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |
 | srt:RangeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfDefinedBenefitPlansDisclosuresTable |