XML 35 R30.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
Mar. 28, 2015
Sep. 27, 2014
Mar. 29, 2014
Sep. 28, 2013
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost $ 193,400us-gaap_AvailableForSaleSecuritiesAmortizedCost $ 155,332us-gaap_AvailableForSaleSecuritiesAmortizedCost    
Unrealized Gains 749us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax 418us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax    
Unrealized Losses (610)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax (511)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax    
Fair Value 193,539us-gaap_AvailableForSaleSecurities 155,239us-gaap_AvailableForSaleSecurities    
Cash and cash equivalents 14,489us-gaap_CashAndCashEquivalentsAtCarryingValue 13,844us-gaap_CashAndCashEquivalentsAtCarryingValue 18,949us-gaap_CashAndCashEquivalentsAtCarryingValue 14,259us-gaap_CashAndCashEquivalentsAtCarryingValue
Short-term marketable securities 18,607us-gaap_AvailableForSaleSecuritiesCurrent 11,233us-gaap_AvailableForSaleSecuritiesCurrent    
Long-term marketable securities 160,443us-gaap_AvailableForSaleSecuritiesNoncurrent 130,162us-gaap_AvailableForSaleSecuritiesNoncurrent    
Cash        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 9,879us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
10,232us-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 9,879us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
10,232us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Cash and cash equivalents 9,879us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
10,232us-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 3,841us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] 4,077us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] 1us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Unrealized Losses (126)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] (132)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Fair Value 3,715us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] 3,946us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Cash and cash equivalents 1,457us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] 1,546us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Short-term marketable securities 2,258us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] 2,400us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Level 1 | Money market funds        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 1,457us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1] 1,546us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1]    
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1] 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1]    
Unrealized Losses 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1] 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1]    
Fair Value 1,457us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1] 1,546us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1]    
Cash and cash equivalents 1,457us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1] 1,546us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1]    
Short-term marketable securities 0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1] 0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1]    
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1] 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_MoneyMarketFundsMember
[1]    
Level 1 | Mutual funds        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 2,384us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1] 2,531us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1]    
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1] 1us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1]    
Unrealized Losses (126)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1] (132)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1]    
Fair Value 2,258us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1] 2,400us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1]    
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1] 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1]    
Short-term marketable securities 2,258us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1] 2,400us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1]    
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1] 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_EquitySecuritiesMember
[1]    
Level 2        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 179,680us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 141,023us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Unrealized Gains 749us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 417us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Unrealized Losses (484)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] (379)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Fair Value 179,945us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 141,061us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Cash and cash equivalents 3,153us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 2,066us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Short-term marketable securities 16,349us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 8,833us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Long-term marketable securities 160,443us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 130,162us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Level 2 | U.S. Treasury securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 42,854us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2] 23,140us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2]    
Unrealized Gains 145us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2] 15us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2]    
Unrealized Losses (12)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2] (9)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2]    
Fair Value 42,987us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2] 23,146us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2]    
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2] 12us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2]    
Short-term marketable securities 1,791us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2] 607us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2]    
Long-term marketable securities 41,196us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2] 22,527us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
[2]    
Level 2 | U.S. agency securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 6,901us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2] 7,373us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2]    
Unrealized Gains 11us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2] 3us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2]    
Unrealized Losses (2)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2] (11)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2]    
Fair Value 6,910us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2] 7,365us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2]    
Cash and cash equivalents 585us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2] 652us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2]    
Short-term marketable securities 1,056us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2] 157us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2]    
Long-term marketable securities 5,269us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2] 6,556us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentAgenciesDebtSecuritiesMember
[2]    
Level 2 | Non-U.S. government securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 7,114us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2] 6,925us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2]    
Unrealized Gains 86us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2] 69us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2]    
Unrealized Losses (80)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2] (69)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2]    
Fair Value 7,120us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2] 6,925us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2]    
Cash and cash equivalents 41us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2] 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2]    
Short-term marketable securities 271us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2] 204us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2]    
Long-term marketable securities 6,808us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2] 6,721us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
[2]    
Level 2 | Certificates of deposit and time deposits        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 3,473us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2] 3,832us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2]    
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2] 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2]    
Unrealized Losses 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2] 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2]    
Fair Value 3,473us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2] 3,832us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2]    
Cash and cash equivalents 1,163us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2] 1,230us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2]    
Short-term marketable securities 1,252us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2] 1,233us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2]    
Long-term marketable securities 1,058us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2] 1,369us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_BankTimeDepositsMember
[2]    
Level 2 | Commercial paper        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 2,956us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2] 475us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2]    
Unrealized Gains 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2] 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2]    
Unrealized Losses 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2] 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2]    
Fair Value 2,956us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2] 475us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2]    
Cash and cash equivalents 1,364us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2] 166us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2]    
Short-term marketable securities 1,592us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2] 309us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2]    
Long-term marketable securities 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2] 0us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialPaperMember
[2]    
Level 2 | Corporate securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 100,658us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2] 85,431us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2]    
Unrealized Gains 427us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2] 296us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2]    
Unrealized Losses (370)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2] (241)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2]    
Fair Value 100,715us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2] 85,486us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2]    
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2] 6us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2]    
Short-term marketable securities 10,325us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2] 6,298us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2]    
Long-term marketable securities 90,390us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2] 79,182us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
[2]    
Level 2 | Municipal securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 942us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2] 940us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2]    
Unrealized Gains 5us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2] 8us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2]    
Unrealized Losses (1)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2] 0us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2]    
Fair Value 946us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2] 948us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2]    
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2] 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2]    
Short-term marketable securities 24us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2] 0us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2]    
Long-term marketable securities 922us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2] 948us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
[2]    
Level 2 | Mortgage- and asset-backed securities        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 14,782us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2] 12,907us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2]    
Unrealized Gains 75us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2] 26us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2]    
Unrealized Losses (19)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2] (49)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2]    
Fair Value 14,838us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2] 12,884us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2]    
Cash and cash equivalents 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2] 0us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2]    
Short-term marketable securities 38us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2] 25us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2]    
Long-term marketable securities $ 14,800us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2] $ 12,859us-gaap_AvailableForSaleSecuritiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_InvestmentTypeAxis
= us-gaap_AssetBackedSecuritiesMember
[2]    
[1] The fair value of Level 1 securities is estimated based on quoted prices in active markets for identical assets or liabilities.
[2] The fair value of Level 2 securities is estimated based on observable inputs other than quoted prices in active markets for identical assets and liabilities, quoted prices for identical or similar assets or liabilities in inactive markets, or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.