 | us-gaap:MultiemployerPlansMinimumContribution | dep-concept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:ScenarioAdjustmentMember | parent-child | http://fasb.org/us-gaap/role/statement/CommonDomainMembers |
 | srt:ScenarioForecastMember | parent-child | http://fasb.org/us-gaap/role/statement/CommonDomainMembers |
 | us-gaap:ScenarioPlanMember | parent-child | http://fasb.org/us-gaap/role/statement/CommonDomainMembers |
 | srt:ProFormaMember | parent-child | http://fasb.org/us-gaap/role/statement/CommonDomainMembers |
 | us-gaap:ScenarioAdjustmentMember | domain-member | http://fasb.org/us-gaap/role/statement/CommonDomainMembersStatementTable |
 | srt:ScenarioForecastMember | domain-member | http://fasb.org/us-gaap/role/statement/CommonDomainMembersStatementTable |
 | us-gaap:ScenarioPlanMember | domain-member | http://fasb.org/us-gaap/role/statement/CommonDomainMembersStatementTable |
 | srt:ProFormaMember | domain-member | http://fasb.org/us-gaap/role/statement/CommonDomainMembersStatementTable |
 | srt:ScenarioForecastMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | srt:ScenarioForecastMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | srt:ScenarioForecastMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsScheduleOfChangeInAccountingEstimateTable |
 | srt:ScenarioForecastMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefits |
 | srt:ScenarioForecastMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CompensationRelatedCostsRetirementBenefitsScheduleOfMultiemployerPlansTable |