XML 58 R36.htm IDEA: XBRL DOCUMENT v2.4.1.9
Cash and Available-for-Sale Securities' Adjusted Cost, Gross Unrealized Gains, Gross Unrealized Losses and Fair Value Recorded as Cash and Cash Equivalents or Short-Term or Long-Term Marketable Securities (Detail) (USD $)
In Millions, unless otherwise specified
Sep. 27, 2014
Sep. 28, 2013
Sep. 29, 2012
Sep. 24, 2011
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost $ 155,332us-gaap_AvailableForSaleSecuritiesAmortizedCost $ 147,143us-gaap_AvailableForSaleSecuritiesAmortizedCost    
Unrealized Gains 418us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax 414us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax    
Unrealized Losses (511)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax (796)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax    
Fair Value 155,239us-gaap_AvailableForSaleSecurities 146,761us-gaap_AvailableForSaleSecurities    
Cash and cash equivalents 13,844us-gaap_CashAndCashEquivalentsAtCarryingValue 14,259us-gaap_CashAndCashEquivalentsAtCarryingValue 10,746us-gaap_CashAndCashEquivalentsAtCarryingValue 9,815us-gaap_CashAndCashEquivalentsAtCarryingValue
Short-term marketable securities 11,233us-gaap_AvailableForSaleSecuritiesCurrent 26,287us-gaap_AvailableForSaleSecuritiesCurrent    
Long-term marketable securities 130,162us-gaap_AvailableForSaleSecuritiesNoncurrent 106,215us-gaap_AvailableForSaleSecuritiesNoncurrent    
Cash        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 10,232us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
8,705us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Unrealized Losses 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Fair Value 10,232us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
8,705us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Cash and cash equivalents 10,232us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
8,705us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Short-term marketable securities 0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Level 1        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 4,077us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
5,792us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Unrealized Gains 1us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Unrealized Losses (132)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
(197)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Fair Value 3,946us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
5,595us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Cash and cash equivalents 1,546us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,793us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Short-term marketable securities 2,400us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
3,802us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
   
Level 1 | Money market funds        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 1,546us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
1,793us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Unrealized Losses 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Fair Value 1,546us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
1,793us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Cash and cash equivalents 1,546us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
1,793us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Short-term marketable securities 0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
   
Level 1 | Mutual funds        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 2,531us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
3,999us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Unrealized Gains 1us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Unrealized Losses (132)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
(197)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Fair Value 2,400us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
3,802us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Short-term marketable securities 2,400us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
3,802us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
   
Level 2        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 141,023us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
132,646us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Unrealized Gains 417us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
414us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Unrealized Losses (379)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
(599)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Fair Value 141,061us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
132,461us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Cash and cash equivalents 2,066us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
3,761us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Short-term marketable securities 8,833us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
22,485us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Long-term marketable securities 130,162us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
106,215us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
   
Level 2 | U.S. Treasury securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 23,140us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
27,642us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
   
Unrealized Gains 15us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
24us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
   
Unrealized Losses (9)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
(47)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
   
Fair Value 23,146us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
27,619us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
   
Cash and cash equivalents 12us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
431us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
   
Short-term marketable securities 607us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
7,554us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
   
Long-term marketable securities 22,527us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
19,634us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
   
Level 2 | U.S. agency securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 7,373us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
16,878us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
   
Unrealized Gains 3us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
12us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
   
Unrealized Losses (11)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
(52)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
   
Fair Value 7,365us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
16,838us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
   
Cash and cash equivalents 652us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
177us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
   
Short-term marketable securities 157us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
3,412us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
   
Long-term marketable securities 6,556us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
13,249us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
   
Level 2 | Non-U.S. government securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 6,925us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
5,545us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Unrealized Gains 69us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
35us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Unrealized Losses (69)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
(137)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Fair Value 6,925us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
5,443us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
50us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Short-term marketable securities 204us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
313us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Long-term marketable securities 6,721us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
5,080us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
   
Level 2 | Certificates of deposit and time deposits        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 3,832us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
2,344us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
   
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
   
Unrealized Losses 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
   
Fair Value 3,832us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
2,344us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
   
Cash and cash equivalents 1,230us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
1,264us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
   
Short-term marketable securities 1,233us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
844us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
   
Long-term marketable securities 1,369us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
236us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
   
Level 2 | Commercial paper        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 475us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
2,998us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Unrealized Losses 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Fair Value 475us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
2,998us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Cash and cash equivalents 166us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
1,835us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Short-term marketable securities 309us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
1,163us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
   
Level 2 | Corporate securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 85,431us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
54,586us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Unrealized Gains 296us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
275us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Unrealized Losses (241)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
(252)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Fair Value 85,486us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
54,609us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Cash and cash equivalents 6us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Short-term marketable securities 6,298us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
8,077us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Long-term marketable securities 79,182us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
46,532us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
   
Level 2 | Municipal securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 940us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
6,257us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Unrealized Gains 8us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
45us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Unrealized Losses 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
(22)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Fair Value 948us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
6,280us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
4us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Short-term marketable securities 0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
1,114us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Long-term marketable securities 948us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
5,162us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
   
Level 2 | Mortgage- and asset-backed securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 12,907us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
16,396us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Unrealized Gains 26us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
23us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Unrealized Losses (49)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
(89)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Fair Value 12,884us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
16,330us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Short-term marketable securities 25us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
8us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
   
Long-term marketable securities $ 12,859us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
$ 16,322us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember