| Fair Value of Financial Instruments (Details) (USD $) In Thousands, unless otherwise specified | Dec. 27, 2014 | Dec. 28, 2013 | 
|---|---|---|
| Assets | ||
| Assets measured at fair value, Adjusted cost | $ 44,713us-gaap_AvailableForSaleSecuritiesAmortizedCost | |
| Asset measured at, fair value | 43,353us-gaap_AvailableForSaleSecurities | |
| Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 44,713us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38,917us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 73snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 284snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | (1,433)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | (472)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | 43,353us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38,729us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Level 1 [Member] | Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 5,251us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 5,914us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 67snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 156snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | (509)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | (65)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | 4,809us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 6,005us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Liabilities | ||
| Liabilities measured at fair value, Adjusted cost | 38snhy_LiabilitiesMeasuredAtFairValueAdjustedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | |
| Liabilities measured at fair value, Unrealized gains | 0snhy_LiabilitiesMeasuredAtFairValueUnrealizedGains / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0snhy_LiabilitiesMeasuredAtFairValueUnrealizedGains / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Liabilities measured at fair value, Unrealized losses | 0snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Liabilities measured at fair value | 30us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Convertible Debt, Fair Value Disclosures | 30us-gaap_ConvertibleDebtFairValueDisclosures / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | |
| Level 1 [Member] | Phantom stock units [Member] | Recurring [Member] | ||
| Liabilities | ||
| Liabilities measured at fair value, Adjusted cost | 30snhy_LiabilitiesMeasuredAtFairValueAdjustedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38snhy_LiabilitiesMeasuredAtFairValueAdjustedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Liabilities measured at fair value, Unrealized gains | 0snhy_LiabilitiesMeasuredAtFairValueUnrealizedGains / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0snhy_LiabilitiesMeasuredAtFairValueUnrealizedGains / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Liabilities measured at fair value, Unrealized losses | 0snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Liabilities measured at fair value | 30us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Level 1 [Member] | Equity securities [Member] | Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 2,145us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 2,049us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 65snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 137snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | (282)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | (64)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | 1,928us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 2,122us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Level 1 [Member] | Mutual funds [Member] | Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 3,106us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 3,865us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 2snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 19snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | (227)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | (1)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | 2,881us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 3,883us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Level 2 [Member] | Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 39,462us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 33,003us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 6snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 128snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | (924)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | (407)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | 38,544us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 32,724us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Level 2 [Member] | Corporate fixed income [Member] | Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 33,740us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 25,240us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 6snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 126snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | (868)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | (250)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | 32,878us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 25,116us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Level 2 [Member] | Municipal bonds [Member] | Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 2,441us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 2,775us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 0snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 1snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | (33)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | (28)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | 2,408us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 2,748us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Level 2 [Member] | Certificates of deposit [Member] | Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 2,439us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 4,014us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 0snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 1snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | 0snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | 2,439us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 4,015us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Level 2 [Member] | Asset backed securities [Member] | Recurring [Member] | ||
| Assets | ||
| Assets measured at fair value, Adjusted cost | 842us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 974us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized gains | 0snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Assets measured at fair value, Unrealized losses | (23)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | (129)snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| Asset measured at, fair value | $ 819us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | $ 845us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 
| X | ||||||||||
| 
- Definition Available-for-sale Securities, Gross Unrealized Gains1 No definition available. 
 | 
| X | ||||||||||
| 
- Definition Available-for-sale Securities, Gross Unrealized Losses2 No definition available. 
 | 
| X | ||||||||||
| 
- Definition Liabilities measured at fair value, adjusted cost. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Liabilities measured at fair value unrealized gains. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Liabilities measured at fair value unrealized losses. No definition available. 
 | 
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Definition Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition This item represents the cost of debt and equity securities, which are categorized neither as held-to-maturity nor trading, net of adjustments including accretion, amortization, collection of cash, previous other-than-temporary impairments recognized in earnings (less any cumulative-effect adjustments recognized, as defined), and fair value hedge accounting adjustments, if any. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Fair value portion of borrowing which can be exchanged for a specified number of another security at the option of the issuer or the holder, for example, but not limited to, the entity's common stock. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Definition Fair value of financial and nonfinancial obligations. Reference 1: http://www.xbrl.org/2003/role/presentationRef 
 | 
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Details 
 |