XML 37 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
Dec. 27, 2014
Sep. 27, 2014
Dec. 28, 2013
Sep. 28, 2013
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost $ 178,788us-gaap_AvailableForSaleSecuritiesAmortizedCost $ 155,332us-gaap_AvailableForSaleSecuritiesAmortizedCost    
Unrealized Gains 271us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax 418us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax    
Unrealized Losses (1,104)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax (511)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax    
Fair Value 177,955us-gaap_AvailableForSaleSecurities 155,239us-gaap_AvailableForSaleSecurities    
Cash and cash equivalents 19,478us-gaap_CashAndCashEquivalentsAtCarryingValue 13,844us-gaap_CashAndCashEquivalentsAtCarryingValue 14,077us-gaap_CashAndCashEquivalentsAtCarryingValue 14,259us-gaap_CashAndCashEquivalentsAtCarryingValue
Short-term marketable securities 12,985us-gaap_AvailableForSaleSecuritiesCurrent 11,233us-gaap_AvailableForSaleSecuritiesCurrent    
Long-term marketable securities 145,492us-gaap_AvailableForSaleSecuritiesNoncurrent 130,162us-gaap_AvailableForSaleSecuritiesNoncurrent    
Cash        
Schedule of Available-for-sale Securities [Line Items]        
Adjusted Cost 13,757us-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 13,757us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
10,232us-gaap_AvailableForSaleSecurities
/ us-gaap_InvestmentTypeAxis
= us-gaap_CashMember
   
Cash and cash equivalents 13,757us-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 5,890us-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 (159)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] (132)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Fair Value 5,731us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1] 3,946us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]    
Cash and cash equivalents 3,346us-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,385us-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 3,346us-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 3,346us-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 3,346us-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,544us-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 (159)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,385us-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,385us-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 159,141us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 141,023us-gaap_AvailableForSaleSecuritiesAmortizedCost
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Unrealized Gains 271us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 417us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Unrealized Losses (945)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] (379)us-gaap_AvailableForSaleSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Fair Value 158,467us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 141,061us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Cash and cash equivalents 2,375us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 2,066us-gaap_CashAndCashEquivalentsAtCarryingValue
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Short-term marketable securities 10,600us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2] 8,833us-gaap_AvailableForSaleSecuritiesCurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]    
Long-term marketable securities 145,492us-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 35,107us-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 16us-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 (58)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 35,065us-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 545us-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 692us-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 33,828us-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,788us-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 2us-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 (11)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,779us-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 582us-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 291us-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,906us-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 6,498us-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 58us-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 (105)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 6,451us-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 0us-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 177us-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,274us-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 2,778us-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 2,778us-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 272us-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,168us-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,338us-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 1,159us-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 1,159us-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 879us-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 280us-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 92,371us-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 159us-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 (720)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 91,810us-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 97us-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 7,932us-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 83,781us-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 939us-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 4us-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 942us-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 0us-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 942us-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 13,501us-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 32us-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 (50)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 13,483us-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 60us-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 $ 13,423us-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.