 | us-gaap:AssetBackedSecuritiesAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:CertificatesOfDepositAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:CommercialPaperAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:CreditAndDebitCardReceivablesAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:MoneyMarketFundsAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:MunicipalDebtSecuritiesAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:TimeDepositsAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:USGovernmentSecuritiesAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:OtherCashEquivalentsAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:CashEquivalentsAtCarryingValue | parent-child | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalents |
 | us-gaap:AssetBackedSecuritiesAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:CertificatesOfDepositAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:CommercialPaperAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:CreditAndDebitCardReceivablesAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:MoneyMarketFundsAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:MunicipalDebtSecuritiesAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:TimeDepositsAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:USGovernmentSecuritiesAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:USGovernmentAgenciesSecuritiesAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:OtherCashEquivalentsAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |
 | us-gaap:CashEquivalentsAtCarryingValue | domain-member | http://fasb.org/us-gaap/role/disclosure/CashAndCashEquivalentsScheduleOfCashAndCashEquivalentsTable |