v2.4.1.9

Fair Value of Financial Instruments (Fair Value Hierarchy) (Details) (USD $) In Thousands, unless otherwise specified | Dec. 31, 2014 | Dec. 31, 2013
--- | --- | ---
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | $ 91,462 us-gaap_AvailableForSaleSecurities | $ 105,133 us-gaap_AvailableForSaleSecurities
Recurring Basis | Fair Value |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 91,462 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 105,133 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Level 1 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Level 2 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 91,462 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 105,133 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Level 3 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember
Commercial paper |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 5,999 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember | 47,488 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember
Commercial paper | Recurring Basis | Fair Value |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 5,999 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember | 47,488 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember
Commercial paper | Level 1 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember
Commercial paper | Level 2 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 5,999 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember | 47,488 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember
Commercial paper | Level 3 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CommercialPaperMember
U.S. government agencies |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 53,832 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember | 18,837 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember
U.S. government agencies | Recurring Basis | Fair Value |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 53,832 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember | 18,837 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember
U.S. government agencies | Level 1 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember
U.S. government agencies | Level 2 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 53,832 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember | 18,837 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember
U.S. government agencies | Level 3 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_USGovernmentAgenciesDebtSecuritiesMember
Municipal bonds |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value |  | 1,128 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember
Municipal bonds | Recurring Basis | Fair Value |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value |  | 1,128 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember
Municipal bonds | Level 1 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value |  | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember
Municipal bonds | Level 2 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value |  | 1,128 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember
Municipal bonds | Level 3 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value |  | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_MunicipalBondsMember
Corporate bonds |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 15,537 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember | 32,179 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
Corporate bonds | Recurring Basis | Fair Value |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 15,537 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember | 32,179 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
Corporate bonds | Level 1 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
Corporate bonds | Level 2 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 15,537 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember | 32,179 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
Corporate bonds | Level 3 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_CorporateBondSecuritiesMember
Asset-backed securities |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 16,094 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember | 5,501 us-gaap_AvailableForSaleSecurities / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember
Asset-backed securities | Recurring Basis | Fair Value |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 16,094 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember | 5,501 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByMeasurementBasisAxis = us-gaap_EstimateOfFairValueFairValueDisclosureMember / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember
Asset-backed securities | Level 1 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember | 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel1Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember
Asset-backed securities | Level 2 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | 16,094 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember | 5,501 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel2Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember
Asset-backed securities | Level 3 | Recurring Basis |  |
Assets, Fair Value Disclosure [Abstract] |  |
Available-for-sale securities, fair value | $ 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember | $ 0 us-gaap_AvailableForSaleSecurities / us-gaap_FairValueByFairValueHierarchyLevelAxis = us-gaap_FairValueInputsLevel3Member / us-gaap_FairValueByMeasurementFrequencyAxis = us-gaap_FairValueMeasurementsRecurringMember / us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis = us-gaap_AssetBackedSecuritiesMember

X
- Details
Name: | us-gaap_AssetsFairValueDisclosureAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of investment in debt and equity securities categorized neither as held-to-maturity nor trading. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 320 -SubTopic 10 -Section 25 -Paragraph 1 -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=28360136&loc=d3e22054-111558 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 320 -SubTopic 10 -Section 50 -Paragraph 5 -Subparagraph (aa) -URI http://asc.fasb.org/extlink&oid=27724398&loc=d3e27232-111563 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 320 -SubTopic 10 -Section 45 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6871852&loc=d3e26610-111562 + Details
Name: | us-gaap_AvailableForSaleSecurities
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FairValueByMeasurementFrequencyAxis=us-gaap_FairValueMeasurementsRecurringMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CommercialPaperMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_MunicipalBondsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USGovernmentAgenciesDebtSecuritiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |