XML 29 R44.htm IDEA: XBRL DOCUMENT
v2.4.1.9

RETIREMENT BENEFIT PLANS (Details) (USD $) | 12 Months Ended
--- | ---
Jan. 03, 2015 Plan | Dec. 28, 2013 Plan | Dec. 29, 2012
Funded status [Abstract] |  |  |  |  |
Net amount recognized in the balance sheet | $ (26,164,812)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet |  | $ (10,930,815)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet |  |
Amounts recognized in accumulated other comprehensive income [Abstract] |  |  |  |  |
Total | 23,387,274 us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax |  | 13,001,185 us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax |  |
Defined Benefit Plan, Change in components of accumulated other comprehensive income [Abstract] |  |  |  |  |
Balance at beginning of period | 13,001,185 us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax |  |  |  |
Other changes [Abstract] |  |  |  |  |
Balance at end of period | 23,387,274 us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax |  | 13,001,185 us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax |  |
Assumptions used to determine the projected benefit obligations [Abstract] |  |  |  |  |
Discount rate (in hundredths) | 3.90%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate |  | 4.80%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate |  |
Expected return on plan assets (in hundredths) | 8.00%eml_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedReturnOnPlanAssets |  | 8.00%eml_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedReturnOnPlanAssets |  |
Rate of compensation increase (in hundredths) | 3.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease |  | 3.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease |  |
Accumulated benefit obligation for all qualified and nonqualified defined benefit pension plans | 84,714,136 us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation |  | 71,403,778 us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation |  |
Pension plans with projected benefit obligation and accumulated benefit obligation in excess of plan assets [Abstract] |  |  |  |  |
Number of plans | 6 eml_NumberOfDefinedBenefitPlans |  | 5 eml_NumberOfDefinedBenefitPlans | [1] |
Projected benefit obligation | 90,516,922 us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateProjectedBenefitObligation |  | 68,781,752 us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateProjectedBenefitObligation |  |
Accumulated benefit obligation | 84,714,136 us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateAccumulatedBenefitObligation |  | 68,974,332 us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateAccumulatedBenefitObligation |  |
Fair value of plan assets | 64,352,110 us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateFairValueOfPlanAssets |  | 57,850,937 us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateFairValueOfPlanAssets |  |
Net amount recognized in accrued benefit liability | (26,164,812)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet |  | (10,930,815)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Period of horizon for various asset classes used in calculating expected long term rates of return | 10 years |  |  |  |
Number of shares of employer common stock included plan assets (in shares) | 202,562 us-gaap_DefinedBenefitPlanNumberOfSharesOfEquitySecuritiesIssuedByEmployerAndRelatedPartiesIncludedInPlanAssets |  | 193,624 us-gaap_DefinedBenefitPlanNumberOfSharesOfEquitySecuritiesIssuedByEmployerAndRelatedPartiesIncludedInPlanAssets |  |
Value of employer common stock included plan assets | 3,473,938 us-gaap_DefinedBenefitPlanAmountOfEmployerAndRelatedPartySecuritiesIncludedInPlanAssets |  | 3,082,494 us-gaap_DefinedBenefitPlanAmountOfEmployerAndRelatedPartySecuritiesIncludedInPlanAssets |  |
Dividends received from employer common stock | 93,507 eml_DefinedBenefitPlanEmployerAndRelatedPartySecuritiesIncludedInPlanAssetsDividendsReceived |  | 81,322 eml_DefinedBenefitPlanEmployerAndRelatedPartySecuritiesIncludedInPlanAssetsDividendsReceived |  |
Health care cost trend rate for participants after January 1, 1991 (in hundredths) | 0.00%eml_HealthCareCostTrendRateForParticipantsRetiringAfterJanuary11991 |  |  |  |
Ultimate health care cost trend rate (in hundredths) | 4.50%us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate |  |  |  |
Effect of one-percentage-point change in assumed health care cost trend rates on postretirement benefit plan [Abstract] |  |  |  |  |
Percentage of voluntary contributions allowed to participants, maximum (in hundredths) | 100.00%us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent |  |  |  |
Employer contributions made | 186,545 us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount |  | 194,068 us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount |  | 187,531 us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount
Equity Securities [Member] |  |  |  |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Long-term target allocations for plan assets (in hundredths) | 50.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_EquitySecuritiesMember |  |  |  |
Fixed income [Member] |  |  |  |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Long-term target allocations for plan assets (in hundredths) | 50.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_FixedIncomeFundsMember |  |  |  |
Pension Benefits [Member] |  |  |  |  |
Components of the net periodic benefit cost [Abstract] |  |  |  |  |
Service cost | 2,837,134 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3,028,863 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,642,373 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Interest cost | 3,365,194 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,840,622 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,868,528 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Expected return on plan assets | (4,810,524)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (4,827,393)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (3,930,988)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Amortization of prior service cost | 218,585 us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 256,459 us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 221,049 us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Amortization of the net loss | 944,130 us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 1,844,139 us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 1,111,900 us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Net periodic benefit cost | 2,554,519 us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3,142,690 us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,912,862 us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Assumptions used to determine net periodic benefit cost [Abstract] |  |  |  |  |
Discount rate (in hundredths) | 4.80%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3.90%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 4.55%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Expected return on plan assets (in hundredths) | 8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Rate of compensation increase (in hundredths) | 3.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Change in benefit obligation [Roll Forward] |  |  |  |  |
Benefit obligation at beginning of year | 71,211,198 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 74,825,969 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Change due to availability of final actual assets and census data | 0 us-gaap_DefinedBenefitPlanOtherChanges / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 0 us-gaap_DefinedBenefitPlanOtherChanges / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Plan amendment | 0 us-gaap_DefinedBenefitPlanPlanAmendments / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 132,378 us-gaap_DefinedBenefitPlanPlanAmendments / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Service cost | 2,837,134 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3,028,863 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,642,373 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Interest cost | 3,365,194 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,840,622 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,868,528 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Actuarial (gain)/loss | 15,697,087 us-gaap_DefinedBenefitPlanActuarialGainLoss / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (7,187,997)us-gaap_DefinedBenefitPlanActuarialGainLoss / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Benefits paid | (2,593,691)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (2,428,637)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Benefit obligation at end of year | 90,516,922 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 71,211,198 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 74,825,969 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at beginning of year | 60,350,987 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 54,644,608 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Change due to availability of final actual assets and census data | 0 eml_DefinedBenefitPlanChangeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 0 eml_DefinedBenefitPlanChangeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Actual return on plan assets | 3,731,262 us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 4,880,381 us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Employer contributions | 2,863,552 us-gaap_DefinedBenefitPlanContributionsByEmployer / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3,254,635 us-gaap_DefinedBenefitPlanContributionsByEmployer / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Benefits paid | (2,593,691)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (2,428,637)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Fair value of plan assets at end of year | 64,352,110 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 60,350,987 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 54,644,608 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Funded status [Abstract] |  |  |  |  |
Net amount recognized in the balance sheet | (26,164,812)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (10,860,211)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Amounts recognized in accumulated other comprehensive income [Abstract] |  |  |  |  |
Net loss | (35,093,871)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (19,261,651)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Prior service (cost) credit | (595,270)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (813,855)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Total | (35,689,141)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (20,075,506)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (29,284,712)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Defined Benefit Plan, Change in components of accumulated other comprehensive income [Abstract] |  |  |  |  |
Balance at beginning of period | (20,075,506)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (29,284,712)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Change due to availability of final actual assets and census data | 0 eml_DefinedBenefitPlanChangesInAccumulatedOtherComprehensiveIncomeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 0 eml_DefinedBenefitPlanChangesInAccumulatedOtherComprehensiveIncomeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Charged to net periodic benefit cost [Abstract] |  |  |  |  |
Prior service cost | 218,585 us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 256,459 us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 221,049 us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Net loss (gain) | 944,130 us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 1,844,139 us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 1,111,900 us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Other changes [Abstract] |  |  |  |  |
Liability (gains)/losses | (16,776,350)us-gaap_OtherComprehensiveIncomeLossFinalizationOfPensionAndNonPensionPostretirementPlanValuationNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 7,108,608 us-gaap_OtherComprehensiveIncomeLossFinalizationOfPensionAndNonPensionPostretirementPlanValuationNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Balance at end of period | (35,689,141)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (20,075,506)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (29,284,712)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Amounts that will be amortized from accumulated other comprehensive income in next fiscal year [Abstract] |  |  |  |  |
Net (loss) gain | 2,011,179 us-gaap_DefinedBenefitPlanFutureAmortizationOfGainLoss / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
Prior service cost (credit) | 218,585 us-gaap_DefinedBenefitPlanFutureAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
Pension plans with projected benefit obligation and accumulated benefit obligation in excess of plan assets [Abstract] |  |  |  |  |
Net amount recognized in accrued benefit liability | (26,164,812)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | (10,860,211)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
2015 | 3,100,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
2016 | 3,400,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
2017 | 3,500,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
2018 | 3,800,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
2019 | 4,100,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
2020 through 2024 | 24,600,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
Contributions expected to be made by Company in next fiscal year | 3,000,000 us-gaap_DefinedBenefitPlansEstimatedFutureEmployerContributionsInNextFiscalYear / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
Fair value of plan assets | 64,352,110 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 60,350,987 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 54,644,608 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember
Number of shares of employer common stock included plan assets (in shares) | 8,938 us-gaap_DefinedBenefitPlanNumberOfSharesOfEquitySecuritiesIssuedByEmployerAndRelatedPartiesIncludedInPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
Value of employer common stock included plan assets | 146,712 us-gaap_DefinedBenefitPlanAmountOfEmployerAndRelatedPartySecuritiesIncludedInPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
Number of plans excluded | 1 eml_NumberOfPlansExcluded / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
Over-funded amount | 70,000 eml_DefinedBenefitPlanOverFundedAmount / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |  |  |
Pension Benefits [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 3,473,938 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 3,082,494 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 3,473,938 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 3,082,494 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 60,878,172 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 57,268,493 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 60,878,172 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 57,268,493 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | Common/Collective Trust Funds [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 1,201,073 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 204,874 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 1,201,073 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 204,874 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | Common/Collective Trust Funds [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | Common/Collective Trust Funds [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 1,201,073 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 204,874 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 1,201,073 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 204,874 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | Common/Collective Trust Funds [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = us-gaap_CashAndCashEquivalentsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | The Eastern Company Common Stock [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 3,473,938 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3,082,494 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 3,473,938 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 3,082,494 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | The Eastern Company Common Stock [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 3,473,938 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 3,082,494 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 3,473,938 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 3,082,494 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | The Eastern Company Common Stock [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | The Eastern Company Common Stock [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EasternCompanyCommonStockMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | U.S. Large Cap [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 6,936,880 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [2] | 6,643,640 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 6,936,880 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [2] | 6,643,640 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | U.S. Large Cap [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [2] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [2] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | U.S. Large Cap [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 6,936,880 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [2] | 6,643,640 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 6,936,880 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [2] | 6,643,640 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | U.S. Large Cap [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [2] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [2] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USLargeCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | U.S. Small Cap [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 4,632,485 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [3] | 4,485,040 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 4,632,485 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [3] | 4,485,040 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | U.S. Small Cap [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [3] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [3] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | U.S. Small Cap [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 4,632,485 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [3] | 4,485,040 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 4,632,485 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [3] | 4,485,040 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | U.S. Small Cap [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [3] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [3] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_USSmallCapMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | Concentrated Equity [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 5,788,864 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [4] | 5,578,600 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 5,788,864 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [4] | 5,578,600 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | Concentrated Equity [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [4] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [4] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | Concentrated Equity [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 5,788,864 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [4] | 5,578,600 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 5,788,864 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [4] | 5,578,600 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | Concentrated Equity [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [4] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [4] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_ConcentratedEquityMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | International Large Cap with Active Currency [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 7,606,489 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [5] | 7,788,246 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 7,606,489 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [5] | 7,788,246 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | International Large Cap with Active Currency [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [5] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [5] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | International Large Cap with Active Currency [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 7,606,489 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [5] | 7,788,246 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 7,606,489 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [5] | 7,788,246 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | International Large Cap with Active Currency [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [5] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [5] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InternationalLargeCapWithActiveCurrencyMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | Emerging Market [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 3,188,672 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [6] | 3,231,355 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 3,188,672 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [6] | 3,231,355 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | Emerging Market [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [6] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [6] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | Emerging Market [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 3,188,672 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [6] | 3,231,355 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 3,188,672 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [6] | 3,231,355 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | Emerging Market [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [6] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [6] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EmergingMarketMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | Intermediate Bond [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 17,013,171 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [7] | 15,817,474 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 17,013,171 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [7] | 15,817,474 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | Intermediate Bond [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [7] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [7] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | Intermediate Bond [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 17,013,171 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [7] | 15,817,474 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 17,013,171 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [7] | 15,817,474 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | Intermediate Bond [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [7] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [7] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_IntermediateBondMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | 6 Year Target Duration LDI Fixed Income Fund [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 226,826 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 211,661 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 226,826 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 211,661 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | 6 Year Target Duration LDI Fixed Income Fund [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | 6 Year Target Duration LDI Fixed Income Fund [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 226,826 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 211,661 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 226,826 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 211,661 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | 6 Year Target Duration LDI Fixed Income Fund [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | 8 Year Target Duration LDI Fixed Income Fund [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 227,960 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 211,101 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 227,960 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 211,101 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | 8 Year Target Duration LDI Fixed Income Fund [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | 8 Year Target Duration LDI Fixed Income Fund [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 227,960 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 211,101 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 227,960 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 211,101 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | 8 Year Target Duration LDI Fixed Income Fund [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_EightYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | 10 Year Target Duration LDI Fixed Income Fund [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 343,712 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 316,556 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 343,712 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 316,556 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | 10 Year Target Duration LDI Fixed Income Fund [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | 10 Year Target Duration LDI Fixed Income Fund [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 343,712 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 316,556 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 343,712 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 316,556 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | 10 Year Target Duration LDI Fixed Income Fund [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | 12 Year Target Duration LDI Fixed Income Fund [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 919,538 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 845,278 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 919,538 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 845,278 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | 12 Year Target Duration LDI Fixed Income Fund [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | 12 Year Target Duration LDI Fixed Income Fund [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 919,538 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 845,278 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 919,538 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 845,278 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | 12 Year Target Duration LDI Fixed Income Fund [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_TwelveYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | 14 Year Target Duration LDI Fixed Income Fund [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 1,212,739 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 1,108,960 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 1,212,739 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 1,108,960 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | 14 Year Target Duration LDI Fixed Income Fund [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | 14 Year Target Duration LDI Fixed Income Fund [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 1,212,739 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 1,108,960 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 1,212,739 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 1,108,960 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | 14 Year Target Duration LDI Fixed Income Fund [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_FourteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | 16 Year Target Duration LDI Fixed Income Fund [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 520,522 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 475,035 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 520,522 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [8] | 475,035 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | 16 Year Target Duration LDI Fixed Income Fund [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | 16 Year Target Duration LDI Fixed Income Fund [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 520,522 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 475,035 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 520,522 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [8] | 475,035 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | 16 Year Target Duration LDI Fixed Income Fund [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [8] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_SixteenYearTargetDurationLdiFixedIncomeFundMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | Long Duration Fixed Credit [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 8,112,746 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [9] | 7,363,673 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 8,112,746 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember | [9] | 7,363,673 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | Long Duration Fixed Credit [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [9] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member | [9] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | Long Duration Fixed Credit [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 8,112,746 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [9] | 7,363,673 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 8,112,746 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member | [9] | 7,363,673 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | Long Duration Fixed Credit [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [9] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member | [9] | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_LongDurationFixedCreditMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Pension Benefits [Member] | Insurance Contracts [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 2,946,495 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,987,000 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 2,946,495 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  | 2,987,000 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember |  |
Pension Benefits [Member] | Insurance Contracts [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Pension Benefits [Member] | Insurance Contracts [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 2,946,495 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 2,987,000 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 2,946,495 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 2,987,000 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Pension Benefits [Member] | Insurance Contracts [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_PensionPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Postretirement Benefits [Member] |  |  |  |  |
Components of the net periodic benefit cost [Abstract] |  |  |  |  |
Service cost | 173,902 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 202,568 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 173,613 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Interest cost | 157,481 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 142,086 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 143,388 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Expected return on plan assets | (22,434)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (73,920)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (46,255)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Amortization of prior service cost | (23,888)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (23,888)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (23,889)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Amortization of the net loss | (72,378)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (4,608)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (50,784)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Net periodic benefit cost | 212,683 us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 242,238 us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 196,073 us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Assumptions used to determine net periodic benefit cost [Abstract] |  |  |  |  |
Discount rate (in hundredths) | 4.80%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 3.90%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 4.55%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Expected return on plan assets (in hundredths) | 8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 8.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Change in benefit obligation [Roll Forward] |  |  |  |  |
Benefit obligation at beginning of year | 3,420,475 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 3,712,505 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Change due to availability of final actual assets and census data | (56,516)us-gaap_DefinedBenefitPlanOtherChanges / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 0 us-gaap_DefinedBenefitPlanOtherChanges / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Plan amendment | 0 us-gaap_DefinedBenefitPlanPlanAmendments / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 0 us-gaap_DefinedBenefitPlanPlanAmendments / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Service cost | 173,902 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 202,568 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 173,613 us-gaap_DefinedBenefitPlanServiceCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Interest cost | 157,481 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 142,086 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 143,388 us-gaap_DefinedBenefitPlanInterestCost / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Actuarial (gain)/loss | 497,488 us-gaap_DefinedBenefitPlanActuarialGainLoss / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (498,446)us-gaap_DefinedBenefitPlanActuarialGainLoss / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Benefits paid | (137,718)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (138,238)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Benefit obligation at end of year | 4,055,112 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 3,420,475 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 3,712,505 us-gaap_DefinedBenefitPlanBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at beginning of year | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 1,204,779 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Change due to availability of final actual assets and census data | (2,451)eml_DefinedBenefitPlanChangeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 12,577 eml_DefinedBenefitPlanChangeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Actual return on plan assets | 22,434 us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 73,920 us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Employer contributions | 79,336 us-gaap_DefinedBenefitPlanContributionsByEmployer / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 34,565 us-gaap_DefinedBenefitPlanContributionsByEmployer / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Benefits paid | (137,718)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (138,238)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Fair value of plan assets at end of year | 1,149,204 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 1,204,779 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Funded status [Abstract] |  |  |  |  |
Net amount recognized in the balance sheet | (2,905,908)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (2,232,872)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Amounts recognized in accumulated other comprehensive income [Abstract] |  |  |  |  |
Net loss | (630,853)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (115,052)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Prior service (cost) credit | 87,620 us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 111,508 us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Total | (543,233)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (3,544)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (486,071)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Defined Benefit Plan, Change in components of accumulated other comprehensive income [Abstract] |  |  |  |  |
Balance at beginning of period | (3,544)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (486,071)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Change due to availability of final actual assets and census data | 54,065 eml_DefinedBenefitPlanChangesInAccumulatedOtherComprehensiveIncomeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 12,577 eml_DefinedBenefitPlanChangesInAccumulatedOtherComprehensiveIncomeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Charged to net periodic benefit cost [Abstract] |  |  |  |  |
Prior service cost | (23,888)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (23,888)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (23,889)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Net loss (gain) | (72,378)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (4,608)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (50,784)us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Other changes [Abstract] |  |  |  |  |
Liability (gains)/losses | (497,488)us-gaap_OtherComprehensiveIncomeLossFinalizationOfPensionAndNonPensionPostretirementPlanValuationNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 498,446 us-gaap_OtherComprehensiveIncomeLossFinalizationOfPensionAndNonPensionPostretirementPlanValuationNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Balance at end of period | (543,233)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (3,544)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (486,071)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Amounts that will be amortized from accumulated other comprehensive income in next fiscal year [Abstract] |  |  |  |  |
Net (loss) gain | 19,426 us-gaap_DefinedBenefitPlanFutureAmortizationOfGainLoss / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Prior service cost (credit) | 23,888 us-gaap_DefinedBenefitPlanFutureAmortizationOfPriorServiceCostCredit / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Pension plans with projected benefit obligation and accumulated benefit obligation in excess of plan assets [Abstract] |  |  |  |  |
Net amount recognized in accrued benefit liability | (2,905,908)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | (2,232,872)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
2015 | 175,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
2016 | 188,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
2017 | 197,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
2018 | 207,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
2019 | 220,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
2020 through 2024 | 1,259,000 us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Contributions expected to be made by Company in next fiscal year | 150,000 us-gaap_DefinedBenefitPlansEstimatedFutureEmployerContributionsInNextFiscalYear / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Fair value of plan assets | 1,149,204 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 1,204,779 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Life insurance cost trend rate (in hundredths) | 1.00%eml_DefinedBenefitPlanLifeInsuranceCostTrendRate / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Effect of one-percentage-point change in assumed health care cost trend rates on postretirement benefit plan [Abstract] |  |  |  |  |
Effect of 1-percentage point increase on total of service and interest cost components | 55,785 us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointIncreaseOnServiceAndInterestCostComponents / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Effect of 1-percentage point decrease on total of service and interest cost components | (45,328)us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointDecreaseOnServiceAndInterestCostComponents1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Effect of 1-percentage point increase on postretirement benefit obligation | 645,868 us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointIncreaseOnAccumulatedPostretirementBenefitObligation / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Effect of 1-percentage point decrease on postretirement benefit obligation | (52,432)us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointDecreaseOnAccumulatedPostretirementBenefitObligation1 / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |  |  |
Postretirement Benefits [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Postretirement Benefits [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Postretirement Benefits [Member] | Level 3 [Member] |  |  |  |  |
Change in benefit obligation [Roll Forward] |  |  |  |  |
Benefits paid | (78,021)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | (75,766)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at beginning of year | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 1,204,779 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Change due to availability of final actual assets and census data | (2,451)eml_DefinedBenefitPlanChangeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 12,577 eml_DefinedBenefitPlanChangeDueToAvailabilityOfFinalActualAssetsAndCensusData / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Actual return on plan assets | 22,434 us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 46,013 us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Employer contributions | 19,639 us-gaap_DefinedBenefitPlanContributionsByEmployer / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 0 us-gaap_DefinedBenefitPlanContributionsByEmployer / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Benefits paid | (78,021)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | (75,766)us-gaap_DefinedBenefitPlanBenefitsPaid / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Fair value of plan assets at end of year | 1,149,204 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 1,149,204 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Postretirement Benefits [Member] | Insurance Contracts [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 1,149,204 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 1,149,204 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember |  |
Postretirement Benefits [Member] | Insurance Contracts [Member] | Level 1 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member |  |
Postretirement Benefits [Member] | Insurance Contracts [Member] | Level 2 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  | 0 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member |  |
Postretirement Benefits [Member] | Insurance Contracts [Member] | Level 3 [Member] |  |  |  |  |
Change in fair value of plan assets [Roll Forward] |  |  |  |  |
Fair value of plan assets at end of year | 1,149,204 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
Estimated future benefit payments to participants [Abstract] |  |  |  |  |
Fair value of plan assets | $ 1,149,204 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  | $ 1,187,603 us-gaap_DefinedBenefitPlanFairValueOfPlanAssets / us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis = eml_InsuranceContractsMember / us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis = us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member |  |
[1] | Information relating to one of the Company's pension plans is excluded from the above table as this plan was over-funded by approximately $70,000 at December 28, 2013.
[2] | The investment objective of the large cap fund is to outperform the Russell 1000 Index. The fund is designed to provide for long-term growth of capital by utilizing a diversified group of quantitative investment strategies that seek to identify securities that have exposure to factors that the underlying advisors' research has found to be predictive of future excess returns. The advisors' portfolios are quantitatively structured to gain exposure to these predictive characteristics while minimizing unintended risk exposures.
[3] | The small cap fund has an objective to outperform the Russell 2500 Index The fund is designed to achieve consistency by combining advisors whose complementary disciplined processes employ distinct methods for identifying small capitalization U.S. stocks with strong return potential. Advisors in the fund use a wide range of criteria and disciplines in their stock selection, focusing on factors such as: undervalued or under-researched companies, special situations, emerging growth, asset plays or turnarounds.
[4] | The investment objective of the concentrated equity fund is to outperform the Russell 1000 Index. The fund is designed to achieve this by combining strategies with different payoffs over different phases of an economic and stock market cycle. To help achieve this objective, multiple advisors and strategies are employed to reduce "scenario risk." These multiple strategies are in the form of multiple investment styles (e.g., growth, market oriented, and value), multiple sub-styles, and different ways of identifying undervalued securities.
[5] | The international fund with active currency has an investment objective of outperforming the Russell Development ex-U.S. Large Cap Index Net. The fund is designed to provide the potential for long-term growth of capital by utilizing a diversified group of investment advisors that the Trustee's manager's research indicates will outperform over a full market cycle. The investment advisors' portfolios are combined to form a fund that emphasizes their strengths while minimizing unintended risk exposures.
[6] | The emerging market fund seeks to outperform the Russell Emerging Markets Index Net. The fund is designed to provide the potential for long-term growth of capital by utilizing a diversified market group of investment advisors that the Trustee's manager's research indicates will outperform over a full market cycle. The investment advisors' portfolios are combined to form a fund that emphasizes their strengths while minimizing unintended risk exposures.
[7] | Fixed income common fund investments have an investment objective of outperforming the Barclays Capital U.S. Aggregate Bond Index over a full market cycle. The fund is designed to provide current income, and as a secondary objective, capital appreciation through a variety of diversified strategies including sector rotation, modest interest rate timing, security selection and tactical use of high yield and emerging market bonds. The portfolio diversification provides protection against a single security or class of securities having a disproportionate impact on aggregate performance. To help achieve the objective, the fund is actively managed by multiple advisors who use a variety of investment strategies to create a broad market exposure. The fund's advisors have distinct but complementary investment styles. These advisors generally have similar universes of investable securities but have different areas of specialization and expertise within intermediate duration securities.
[8] | The Target Duration LDI Fixed Income Funds seek to outperform their respective Barclays-Russell LDI Indexes over a full market cycle. These Funds seek to provide current income, and as a secondary objective, capital appreciation through diversified strategies including sector rotation, modest interest rate timing, security selection and tactical use of high yield and emerging market bonds. The Funds will generally be used in combination with other bond funds to enable the plans to gain additional credit exposure within their asset portfolio, with the goal of reducing the mismatch between a plan's assets and liabilities.
[9] | The long duration fixed credit fund seeks to outperform the Barclays Capital Long Credit Index over a full market cycle. The fund seeks to provide current income, and as a secondary objective, capital appreciation through diversified strategies including sector rotation, modest interest rate timing, security selection and tactical use of high yield and emerging market bonds. The fund will generally be used in combination with other bond funds, with the goal of reducing the mismatch between a plan's assets and liabilities.

X
- Details
Name: | eml_ChargedToNetPeriodicBenefitCostAbstract
Namespace Prefix: | eml_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition An assumption on the projected rate of return on plan assets reflecting the average rate of earnings expected on the funds invested or to be invested to provide for the benefits included in the benefit obligation. + References No definition available. + Details
Name: | eml_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationExpectedReturnOnPlanAssets
Namespace Prefix: | eml_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition The amount of change in the fair value of plan assets due to availability of final actual assets and census data during the reporting period. + References No definition available. + Details
Name: | eml_DefinedBenefitPlanChangeDueToAvailabilityOfFinalActualAssetsAndCensusData
Namespace Prefix: | eml_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | eml_DefinedBenefitPlanChangeInComponentsOfAccumulatedOtherComprehensiveIncomeAbstract
Namespace Prefix: | eml_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Changes in the accumulated other comprehensive income due to availability of final actual assets and census data. + References No definition available. + Details
Name: | eml_DefinedBenefitPlanChangesInAccumulatedOtherComprehensiveIncomeDueToAvailabilityOfFinalActualAssetsAndCensusData
Namespace Prefix: | eml_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The amount of dividends received from employer securities or securities of parties related to the employer that are included in plan assets. + References No definition available. + Details
Name: | eml_DefinedBenefitPlanEmployerAndRelatedPartySecuritiesIncludedInPlanAssetsDividendsReceived
Namespace Prefix: | eml_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The trend rate for life insurance costs used to measure the expected cost of benefits covered by the plan (gross eligible charges). + References No definition available. + Details
Name: | eml_DefinedBenefitPlanLifeInsuranceCostTrendRate
Namespace Prefix: | eml_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Increase in the plan benefit over-funded amount during the reporting period. + References No definition available. + Details
Name: | eml_DefinedBenefitPlanOverFundedAmount
Namespace Prefix: | eml_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- Definition The trend rate for health care costs for participants retiring after January 1, 1991. + References No definition available. + Details
Name: | eml_HealthCareCostTrendRateForParticipantsRetiringAfterJanuary11991
Namespace Prefix: | eml_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of defined benefit plans. + References No definition available. + Details
Name: | eml_NumberOfDefinedBenefitPlans
Namespace Prefix: | eml_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of defined benefit plans excluded due to over-funding. + References No definition available. + Details
Name: | eml_NumberOfPlansExcluded
Namespace Prefix: | eml_
Data Type: | xbrli:integerItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | eml_OtherChangesInAccumulatedOtherComprehensiveIncomeAbstract
Namespace Prefix: | eml_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period of horizon for various asset classes used in calculating expected long-term rates of return. + References No definition available. + Details
Name: | eml_PeriodOfHorizonForVariousAssetClassesUsedInCalculatingExpectedLongTermRatesOfReturn
Namespace Prefix: | eml_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition The total of net gain (loss), prior service cost (credit), and transition assets (obligations), as well as minimum pension liability if still remaining, included in accumulated other comprehensive income associated with a defined benefit pension or other postretirement plan(s) because they have yet to be recognized as components of net periodic benefit cost. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 11 -URI http://asc.fasb.org/extlink&oid=36458714&loc=d3e637-108580 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 14 -URI http://asc.fasb.org/extlink&oid=36458714&loc=d3e681-108580 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 14A -URI http://asc.fasb.org/extlink&oid=36458714&loc=SL7669686-108580 Reference 4: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 10A -Subparagraph (j-k) -URI http://asc.fasb.org/extlink&oid=36458714&loc=SL7669646-108580 Reference 5: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (i) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition For defined benefit pension plans, the actuarial present value of benefits (whether vested or nonvested) attributed by the pension benefit formula to employee service rendered before a specified date and based on employee service and compensation (if applicable) before that date. The accumulated benefit obligation differs from the projected benefit obligation in that it includes no assumption about future compensation levels. For plans with flat-benefit or nonpay-related pension benefit formulas, the accumulated benefit obligation and the projected benefit obligation are the same. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Accumulated Benefit Obligation -URI http://asc.fasb.org/extlink&oid=6503844 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (e) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Details
Name: | us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeLossAfterTaxAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition After tax net amount of gain (loss) that are not yet recognized as a component of net periodic benefit cost, and that are recognized as increases (decreases) in other comprehensive income as they arise. + References No definition available. + Details
Name: | us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount after tax of cost (credit) due to benefit changes attributable to plan participants' prior service pursuant to a plan amendment or a plan initiation, which has not yet been recognized as a component of net periodic benefit cost. + References No definition available. + Details
Name: | us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition The difference between fair value of plan assets at the end of the period and the fair value at the beginning of the period, adjusted for contributions and payments of benefits during the period, and after adjusting for taxes and other expenses, as applicable. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Actual Return on Plan Assets (Component of Net Periodic Postretirement Benefit Cost) -URI http://asc.fasb.org/extlink&oid=6504192 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (b)(1) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Actual Return on Plan Assets (Component of Net Periodic Pension Cost) -URI http://asc.fasb.org/extlink&oid=6504226 + Details
Name: | us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of gain (loss) related to change in benefit obligation resulting from changes in actuarial assumptions, for example, but not limited to, interest, mortality, employee turnover, salary, and temporary deviation from the substantive plan. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 30 -Glossary Gain or Loss -URI http://asc.fasb.org/extlink&oid=6514294 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a)(4) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 60 -Glossary Gain or Loss -URI http://asc.fasb.org/extlink&oid=6749293 + Details
Name: | us-gaap_DefinedBenefitPlanActuarialGainLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The amount of gains or losses recognized in net periodic benefit cost. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (h)(4) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The amount of the prior service cost or credit recognized in net periodic benefit cost relating to benefit changes attributable to plan participants' prior service pursuant to a plan amendment or a plan initiation. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (h)(1) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The amount of employer securities or securities of parties related to the employer that are included in plan assets. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (n) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAmountOfEmployerAndRelatedPartySecuritiesIncludedInPlanAssets
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition The aggregate net amount recognized in the balance sheet associated with the defined benefit plan(s). Will normally be the same as the Defined Benefit Plan, Funded Status of Plan, Total. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (c) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=21915240&loc=d3e1703-114919 + Details
Name: | us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheetAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanAmountsThatWillBeAmortizedFromAccumulatedOtherComprehensiveIncomeLossInNextFiscalYearAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The interest rate used to adjust for the time value of money for the plan. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (k)(1) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Expected rate of compensation increases (for pay-related plans). + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (k)(2) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition The interest rate used to adjust for the time value of money. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (k)(1) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition An assumption as to the rate of return on plan assets reflecting the average rate of earnings expected on the funds invested or to be invested to provide for the benefits included in the benefit obligation. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 30 -Glossary Expected Long-Term Rate of Return on Plan Assets -URI http://asc.fasb.org/extlink&oid=6512013 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (k)(3) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Expected rate of compensation increases (for pay-related plans). + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (k)(2) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanAssumptionsUsedInCalculationsAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition 1) For defined benefit pension plans, the benefit obligation is the projected benefit obligation, which is the actuarial present value as of a date of all benefits attributed by the pension benefit formula to employee service rendered prior to that date. 2) For other postretirement defined benefit plans, the benefit obligation is the accumulated postretirement benefit obligation, which is the actuarial present value of benefits attributed to employee service rendered to a particular date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Projected Benefit Obligation -URI http://asc.fasb.org/extlink&oid=6522206 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Accumulated Postretirement Benefit Obligation -URI http://asc.fasb.org/extlink&oid=6503904 + Details
Name: | us-gaap_DefinedBenefitPlanBenefitObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The amount of payments made for which participants are entitled under a pension plan, including pension benefits, death benefits, and benefits due on termination of employment. Also includes payments made under a postretirement benefit plan, including prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services. This item represents a periodic decrease to the plan obligations and a decrease to plan assets. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Postretirement Benefits -URI http://asc.fasb.org/extlink&oid=6521376 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 60 -Section 50 -Paragraph 4 -URI http://asc.fasb.org/extlink&oid=6414203&loc=d3e39716-114964 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 30 -Glossary Benefits -URI http://asc.fasb.org/extlink&oid=6506267 Reference 4: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 60 -Glossary Benefits -URI http://asc.fasb.org/extlink&oid=6506309 Reference 5: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a)(6) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 6: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (b)(5) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanBenefitsPaid
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanChangeInBenefitObligationRollForward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanChangeInFairValueOfPlanAssetsRollForward
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The increase in the fair value of plan assets from contributions made by the employer. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (b)(3) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanContributionsByEmployer
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointChangeInAssumedHealthCareCostTrendRatesAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of effect of a one-percentage-point decrease in the assumed health care cost trend rates on the accumulated postretirement benefit obligation for health care benefits. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (m) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointDecreaseOnAccumulatedPostretirementBenefitObligation1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of effect of a one-percentage-point decrease in the assumed health care cost trend rates on the aggregate of the service and interest cost components of net periodic postretirement health care benefit costs. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (m) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointDecreaseOnServiceAndInterestCostComponents1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The effect of a one-percentage-point increase in the assumed health care cost trend rates on the accumulated postretirement benefit obligation for health care benefits. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (m) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointIncreaseOnAccumulatedPostretirementBenefitObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The effect of a one-percentage-point increase in the assumed health care cost trend rates on the aggregate of the service and interest cost components of net periodic postretirement health care benefit costs. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (m) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanEffectOfOnePercentagePointIncreaseOnServiceAndInterestCostComponents
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanEstimatedFutureBenefitPaymentsAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of benefits from a defined benefit plan expected to be paid in the five fiscal years after the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (f) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of benefits from a defined benefit plan expected to be paid in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (f) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of benefits from a defined benefit plan expected to be paid in the fifth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (f) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of benefits from a defined benefit plan expected to be paid in the fourth fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (f) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of benefits from a defined benefit plan expected to be paid in the third fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (f) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of benefits from a defined benefit plan expected to be paid in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (f) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition An amount calculated as a basis for determining the extent of delayed recognition of the effects of changes in the fair value of assets. The expected return on plan assets is determined based on the expected long-term rate of return on plan assets and the market-related value of plan assets. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 30 -Glossary Expected Return on Plan Assets -URI http://asc.fasb.org/extlink&oid=6512136 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 60 -Glossary Expected Return on Plan Assets -URI http://asc.fasb.org/extlink&oid=6512171 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (h)(3) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Assets, usually stocks, bonds, and other investments, that have been segregated and restricted (usually in a trust) to provide benefits, at their fair value as of the measurement date. Plan assets include amounts contributed by the employer (and by employees for a contributory plan) and amounts earned from investing the contributions, less benefits paid. If a plan has liabilities other than for benefits, those non-benefit obligations may be considered as reductions of plan assets. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 30 -Section 35 -Paragraph 50 -URI http://asc.fasb.org/extlink&oid=29635418&loc=d3e12355-114930 + Details
Name: | us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount included in accumulated other comprehensive income (AOCI) related to gain (loss) expected to be recognized as components of net periodic benefit cost for the fiscal year that follows the most recent annual statement of financial position. + References No definition available. + Details
Name: | us-gaap_DefinedBenefitPlanFutureAmortizationOfGainLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount included in accumulated other comprehensive income (AOCI) related to prior service cost (credit) expected to be recognized as components of net periodic benefit cost for the fiscal year that follows the most recent annual statement of financial position. + References No definition available. + Details
Name: | us-gaap_DefinedBenefitPlanFutureAmortizationOfPriorServiceCostCredit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The increase in a defined benefit pension plan's projected benefit obligation or a defined benefit postretirement plan's accumulated postretirement benefit obligation due to the passage of time. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (h)(2) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a)(2) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanInterestCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The total amount of net periodic benefit cost for defined benefit plans for the period. Periodic benefit costs include the following components: service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) due to settlements or curtailments. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (j) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (h) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The number of employer shares or related party shares included in plan assets. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (n) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanNumberOfSharesOfEquitySecuritiesIssuedByEmployerAndRelatedPartiesIncludedInPlanAssets
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | instant

X
- Definition Changes in the defined benefit obligation, not otherwise separately disclosed in the financial statements. + References No definition available. + Details
Name: | us-gaap_DefinedBenefitPlanOtherChanges
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition If aggregate disclosures are presented, the aggregate pension accumulated benefit obligation for pension plans with accumulated benefit obligations in excess of plan assets as of the measurement date of each statement of financial position presented. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 55 -Paragraph 17 -URI http://asc.fasb.org/extlink&oid=34716465&loc=d3e4179-114921 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e2417-114920 + Details
Name: | us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateAccumulatedBenefitObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition If aggregate disclosures are presented, the aggregate fair value of plan assets for pension plans with accumulated benefit obligations in excess of plan assets as of the measurement date of each statement of financial position presented. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 55 -Paragraph 17 -URI http://asc.fasb.org/extlink&oid=34716465&loc=d3e4179-114921 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e2417-114920 + Details
Name: | us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateFairValueOfPlanAssets
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition If aggregate disclosures are presented, the aggregate projected benefit obligation for pension plans with accumulated benefit obligations in excess of plan assets as of the measurement date of each statement of financial position presented. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 55 -Paragraph 17 -URI http://asc.fasb.org/extlink&oid=34716465&loc=d3e4179-114921 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 3 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e2417-114920 + Details
Name: | us-gaap_DefinedBenefitPlanPensionPlansWithAccumulatedBenefitObligationsInExcessOfPlanAssetsAggregateProjectedBenefitObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The amount of increase or decrease due to a change in the terms of an existing plan or the initiation of a new plan. A plan amendment may increase or decrease benefits, including those attributed to years of service already rendered. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 60 -Glossary Plan Amendment -URI http://asc.fasb.org/extlink&oid=6520743 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 30 -Glossary Plan Amendment -URI http://asc.fasb.org/extlink&oid=6520782 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a)(7) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanPlanAmendments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The actuarial present value of benefits attributed by the pension benefit formula to services rendered by employees during the period. The portion of the expected postretirement benefit obligation attributed to employee service during the period. The service cost component is a portion of the benefit obligation and is unaffected by the funded status of the plan. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (h)(1) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Service Cost (Component of Net Periodic Pension Cost) -URI http://asc.fasb.org/extlink&oid=6525008 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a)(1) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanServiceCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of employer's best estimate of contributions expected to be paid to the plan during the next fiscal year beginning after the date of the latest statement of financial position. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (g) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlansEstimatedFutureEmployerContributionsInNextFiscalYear
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Target allocation of investments of this type to total plan assets presented on a weighted average basis. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (d)(i) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 5 -Subparagraph (c)(i) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e2446-114920 + Details
Name: | us-gaap_DefinedBenefitPlanTargetPlanAssetAllocations
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The ultimate trend rate for health care costs. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (l) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 + Details
Name: | us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanWeightedAverageAssumptionsUsedInCalculatingBenefitObligationAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of discretionary contributions made by an employer to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount after tax of gain (loss) adjustment to other comprehensive income (loss) resulting from settlement or curtailment of defined benefit pension and other postretirement defined benefit plans. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 11 -URI http://asc.fasb.org/extlink&oid=36458714&loc=d3e637-108580 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (h)(7) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (j) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 4: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 715 -SubTopic 20 -Section 50 -Paragraph 1 -Subparagraph (a)(10) -URI http://asc.fasb.org/extlink&oid=35743120&loc=d3e1928-114920 Reference 5: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Plan Curtailment -URI http://asc.fasb.org/extlink&oid=6520938 Reference 6: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Settlement of a Pension or Postretirement Benefit Obligation -URI http://asc.fasb.org/extlink&oid=6531942 + Details
Name: | us-gaap_OtherComprehensiveIncomeLossFinalizationOfPensionAndNonPensionPostretirementPlanValuationNetOfTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis=us-gaap_EquitySecuritiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis=us-gaap_FixedIncomeFundsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis=us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis=us-gaap_PensionPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |