Annual report pursuant to Section 13 and 15(d)

Fair Value of Financial Instruments (Details)

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,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