 | us-gaap:RetirementPlanTypeAxis | 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:RetirementPlanSponsorLocationAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:CollectiveBargainingArrangementAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | srt:RangeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:BusinessAcquisitionAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | srt:StatementScenarioAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:MultiemployerPlansLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | us-gaap:RetirementPlanTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |
 | us-gaap:RetirementPlanNameAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |
 | us-gaap:RetirementPlanSponsorLocationAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |
 | us-gaap:CollectiveBargainingArrangementAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |
 | srt:RangeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |
 | us-gaap:BusinessAcquisitionAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |
 | us-gaap:IncomeStatementBalanceSheetAndAdditionalDisclosuresByDisposalGroupsIncludingDiscontinuedOperationsAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |
 | srt:StatementScenarioAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |