v2.4.1.9

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,713 us-gaap_AvailableForSaleSecuritiesAmortizedCost |
Asset measured at, fair value | 43,353 us-gaap_AvailableForSaleSecurities |
Recurring [Member] |  |
Assets |  |
Assets measured at fair value, Adjusted cost | 44,713 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38,917 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Assets measured at fair value, Unrealized gains | 73 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 284 snhy_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,353 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38,729 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Level 1 [Member] | Recurring [Member] |  |
Assets |  |
Assets measured at fair value, Adjusted cost | 5,251 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 5,914 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Assets measured at fair value, Unrealized gains | 67 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 156 snhy_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,809 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 6,005 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Liabilities |  |
Liabilities measured at fair value, Adjusted cost |  | 38 snhy_LiabilitiesMeasuredAtFairValueAdjustedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Liabilities measured at fair value, Unrealized gains | 0 snhy_LiabilitiesMeasuredAtFairValueUnrealizedGains / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0 snhy_LiabilitiesMeasuredAtFairValueUnrealizedGains / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Liabilities measured at fair value, Unrealized losses | 0 snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0 snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Liabilities measured at fair value | 30 us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38 us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Convertible Debt, Fair Value Disclosures | 30 us-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 | 30 snhy_LiabilitiesMeasuredAtFairValueAdjustedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38 snhy_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 | 0 snhy_LiabilitiesMeasuredAtFairValueUnrealizedGains / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0 snhy_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 | 0 snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0 snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Liabilities measured at fair value | 30 us-gaap_LiabilitiesFairValueDisclosure / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementBasisAxis = snhy_PhantomStockUnitsMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 38 us-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,145 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 2,049 us-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 | 65 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 137 snhy_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,928 us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_EquitySecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 2,122 us-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,106 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 3,865 us-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 | 2 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 19 snhy_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,881 us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = snhy_MutualFundsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 3,883 us-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,462 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 33,003 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Assets measured at fair value, Unrealized gains | 6 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 128 snhy_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,544 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 32,724 us-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,740 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 25,240 us-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 | 6 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 126 snhy_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,878 us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_FixedIncomeSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 25,116 us-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,441 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 2,775 us-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 | 0 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 1 snhy_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,408 us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_MunicipalBondsMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 2,748 us-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,439 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 4,014 us-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 | 0 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 1 snhy_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 | 0 snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0 snhy_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,439 us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_CertificatesOfDepositMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 4,015 us-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 | 842 us-gaap_AvailableForSaleSecuritiesAmortizedCost / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 974 us-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 | 0 snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1 / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0 snhy_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 | $ 819 us-gaap_AvailableForSaleSecurities / us-gaap_EligibleItemOrGroupForFairValueOptionAxis = us-gaap_AssetBackedSecuritiesMember / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | $ 845 us-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 + References No definition available. + Details
Name: | snhy_AvailableforsaleSecuritiesGrossUnrealizedGains1
Namespace Prefix: | snhy_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Available-for-sale Securities, Gross Unrealized Losses2 + References No definition available. + Details
Name: | snhy_AvailableforsaleSecuritiesGrossUnrealizedLosses2
Namespace Prefix: | snhy_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Liabilities measured at fair value, adjusted cost. + References No definition available. + Details
Name: | snhy_LiabilitiesMeasuredAtFairValueAdjustedCost
Namespace Prefix: | snhy_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Liabilities measured at fair value unrealized gains. + References No definition available. + Details
Name: | snhy_LiabilitiesMeasuredAtFairValueUnrealizedGains
Namespace Prefix: | snhy_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Liabilities measured at fair value unrealized losses. + References No definition available. + Details
Name: | snhy_LiabilitiesMeasuredAtFairValueUnrealizedLosses
Namespace Prefix: | snhy_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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

X
- Definition Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 320 -SubTopic 10 -Section 25 -Paragraph 1 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=28360136&loc=d3e22054-111558 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 320 -SubTopic 10 -Section 50 -Paragraph 5 -Subparagraph (aa) -URI http://asc.fasb.org/extlink&oid=27724398&loc=d3e27232-111563 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 320 -SubTopic 10 -Section 45 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6871852&loc=d3e26610-111562 + Details
Name: | us-gaap_AvailableForSaleSecurities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.2) -URI http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682 + Details
Name: | us-gaap_AvailableForSaleSecuritiesAmortizedCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

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. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Glossary Convertible Security -URI http://asc.fasb.org/extlink&oid=6509036 + Details
Name: | us-gaap_ConvertibleDebtFairValueDisclosures
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Fair value of financial and nonfinancial obligations. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 820 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=36462937&loc=d3e19207-110258 + Details
Name: | us-gaap_LiabilitiesFairValueDisclosure
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

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

X
- Details
Name: | us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |