XML 87 R58.htm IDEA: XBRL DOCUMENT v2.4.1.9
Pension, Postretirement and Postemployment Benefits (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 28, 2014
Dec. 29, 2013
Dec. 30, 2012
Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]      
Defined benefit plan, number of major plans which principally cover non-union employees 2has_DefinedBenefitPlansNumberOfMajorPlansCoveringNonUnionEmployees    
Defined benefit plan, number of major plans that are funded 1has_DefinedBenefitPlanNumberOfFundedPlans    
Funded [Member]      
Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]      
Projected benefit obligations in excess of the fair value of the plans' assets $ 73,398us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateProjectedBenefitObligation
/ has_DefinedBenefitPlanByFundingStatusAxis
= has_FundedMember
$ 24,551us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateProjectedBenefitObligation
/ has_DefinedBenefitPlanByFundingStatusAxis
= has_FundedMember
 
Unfunded [Member]      
Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]      
Projected benefit obligations in excess of the fair value of the plans' assets 37,660us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateProjectedBenefitObligation
/ has_DefinedBenefitPlanByFundingStatusAxis
= has_UnfundedMember
34,886us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateProjectedBenefitObligation
/ has_DefinedBenefitPlanByFundingStatusAxis
= has_UnfundedMember
 
International Plans [Member]      
Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]      
Pension expense 3,363us-gaap_PensionExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
4,085us-gaap_PensionExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
3,458us-gaap_PensionExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
Change in Projected Benefit Obligation [Roll Forward]      
Projected benefit obligation - beginning 112,460us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
   
Projected benefit obligation - ending 147,528us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
112,460us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
Change in Plan Assets [Roll Forward]      
Fair value of plan assets - beginning 85,335us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
   
Fair value of plan assets - ending 102,375us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
85,335us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
Reconciliation of Funded Status [Abstract]      
Projected benefit obligation (147,528)us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
(112,460)us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
Fair value of plan assets 102,375us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
85,335us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
 
Expected amortization of unrecognized net losses in next fiscal year 1,515us-gaap_DefinedBenefitPlanFutureAmortizationOfGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
   
Expected amortization of unrecognized prior service cost in next fiscal year (43)us-gaap_DefinedBenefitPlanFutureAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_ForeignPensionPlansDefinedBenefitMember
   
Pension [Member]      
Defined Benefit Plans and Other Postretirement Benefit Plans Table Text Block [Line Items]      
Pension expense 34,300us-gaap_PensionExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
35,900us-gaap_PensionExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
40,300us-gaap_PensionExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
Pension expense related to defined contribution plans 28,100us-gaap_DefinedContributionPlanCostRecognized
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
23,000us-gaap_DefinedContributionPlanCostRecognized
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
29,500us-gaap_DefinedContributionPlanCostRecognized
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
Change in Projected Benefit Obligation [Roll Forward]      
Projected benefit obligation - beginning 332,774us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
391,681us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Service cost 1,824us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
2,579us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
1,784us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
Interest cost 16,209us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
15,597us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
16,669us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
Actuarial (gain) loss 59,640us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(45,170)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Curtailment 0us-gaap_DefinedBenefitPlanCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
2,958us-gaap_DefinedBenefitPlanCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Plan amendment 0us-gaap_DefinedBenefitPlanPlanAmendments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanPlanAmendments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Benefits paid (25,690)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(17,213)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Settlements 0us-gaap_DefinedBenefitPlanSettlementsBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(16,213)us-gaap_DefinedBenefitPlanSettlementsBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Expenses paid (1,689)has_DefinedBenefitPlanExpensesPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(1,445)has_DefinedBenefitPlanExpensesPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Projected benefit obligation - ending 383,068us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
332,774us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
391,681us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
Accumulated benefit obligation - ending 383,068us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
332,774us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Change in Plan Assets [Roll Forward]      
Fair value of plan assets - beginning 273,337us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
273,575us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Actual return on plan assets 20,385us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
30,619us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Employer contribution 5,667us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
4,014us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Benefits paid (25,690)has_DefinedBenefitPlanBenefitsAndSettlementsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(17,213)has_DefinedBenefitPlanBenefitsAndSettlementsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Settlements 0us-gaap_DefinedBenefitPlanSettlementsBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(16,213)us-gaap_DefinedBenefitPlanSettlementsBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Expenses paid (1,689)has_DefinedBenefitPlanExpensesPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(1,445)has_DefinedBenefitPlanExpensesPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Fair value of plan assets - ending 272,010us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
273,337us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
273,575us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
Reconciliation of Funded Status [Abstract]      
Projected benefit obligation (383,068)us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(332,774)us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(391,681)us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
Fair value of plan assets 272,010us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
273,337us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
273,575us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
Funded status (111,058)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(59,437)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Unrecognized net loss (gain) 123,968us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
69,716us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Unrecognized prior service cost 187us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Net amount recognized 13,097us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
10,279us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Accrued liabilities (2,990)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(2,978)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Other liabilities (108,068)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
(56,459)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Accumulated other comprehensive earnings (loss) 124,155us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
69,716us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Expected amortization of unrecognized net losses in next fiscal year 7,452us-gaap_DefinedBenefitPlanFutureAmortizationOfGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
   
Expected amortization of unrecognized prior service cost in next fiscal year 98us-gaap_DefinedBenefitPlanFutureAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
   
Assumptions used to determine year-end pension and postretirement benefit obligations [Abstract]      
Weighted average discount rate 4.19%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
5.02%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPensionPlansOfUSEntityDefinedBenefitMember
 
Postretirement [Member]      
Change in Projected Benefit Obligation [Roll Forward]      
Projected benefit obligation - beginning 27,174us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
36,969us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Service cost 543us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
750us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
735us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
Interest cost 1,337us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
1,380us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
1,758us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
Actuarial (gain) loss 796us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(5,617)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Curtailment 0us-gaap_DefinedBenefitPlanCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanCurtailments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Plan amendment 0us-gaap_DefinedBenefitPlanPlanAmendments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(4,408)us-gaap_DefinedBenefitPlanPlanAmendments
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Benefits paid (1,833)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(1,900)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Settlements 0us-gaap_DefinedBenefitPlanSettlementsBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanSettlementsBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Expenses paid 0has_DefinedBenefitPlanExpensesPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0has_DefinedBenefitPlanExpensesPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Projected benefit obligation - ending 28,017us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
27,174us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
36,969us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
Accumulated benefit obligation - ending 28,017us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
27,174us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Change in Plan Assets [Roll Forward]      
Fair value of plan assets - beginning 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
   
Actual return on plan assets 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Employer contribution 0us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Benefits paid 0has_DefinedBenefitPlanBenefitsAndSettlementsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0has_DefinedBenefitPlanBenefitsAndSettlementsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Settlements 0us-gaap_DefinedBenefitPlanSettlementsBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanSettlementsBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Expenses paid 0has_DefinedBenefitPlanExpensesPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0has_DefinedBenefitPlanExpensesPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Fair value of plan assets - ending 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Reconciliation of Funded Status [Abstract]      
Projected benefit obligation (28,017)us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(27,174)us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(36,969)us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
Fair value of plan assets 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Funded status (28,017)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(27,174)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Unrecognized net loss (gain) 782us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(15)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Unrecognized prior service cost (3,401)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(3,857)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Net amount recognized (30,636)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(31,046)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Accrued liabilities (2,100)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(2,100)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Other liabilities (25,917)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(25,074)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Accumulated other comprehensive earnings (loss) (2,619)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
(3,872)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Expected amortization of unrecognized prior service cost in next fiscal year $ (457)us-gaap_DefinedBenefitPlanFutureAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
   
Assumptions used to determine year-end pension and postretirement benefit obligations [Abstract]      
Weighted average discount rate 4.23%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
5.11%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Health care cost trend rate assumed for next year 6.50%has_DefinedBenefitPlanBenefitObligationsHealthCareCostTrendRateAssumedForNextFiscalYear
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
7.00%has_DefinedBenefitPlanBenefitObligationsHealthCareCostTrendRateAssumedForNextFiscalYear
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Rate to which the cost trend rate is assumed to decline (ultimate trend rate) 5.00%has_DefinedBenefitPlanBenefitObligationsUltimateHealthCareCostTrendRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
5.00%has_DefinedBenefitPlanBenefitObligationsUltimateHealthCareCostTrendRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_UnitedStatesPostretirementBenefitPlansOfUSEntityDefinedBenefitMember
 
Year that the rate reaches the ultimate trend 2020 2020