XML 24 R37.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value (Details) (USD $)
In Millions, unless otherwise specified
3 Months Ended 12 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Dec. 31, 2014
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities $ 10,917us-gaap_AvailableForSaleSecurities   $ 10,446us-gaap_AvailableForSaleSecurities
Other investments:      
Contributions made to the funds 25.0us-gaap_PaymentsToAcquireLimitedPartnershipInterests 27.0us-gaap_PaymentsToAcquireLimitedPartnershipInterests  
Distributions received from the funds 76.0us-gaap_ProceedsFromLimitedPartnershipInvestments 41.0us-gaap_ProceedsFromLimitedPartnershipInvestments  
Fair value measurements on a recurring basis      
Fair value measurements on a recurring basis by asset class and level of input      
Total 14,071us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  13,748us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
% of total assets at fair value 100.00%erie_AssetsAsPercentOfAssetsMeasuredAtFairValueRecurring
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  100.00%erie_AssetsAsPercentOfAssetsMeasuredAtFairValueRecurring
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair value measurements on a recurring basis | Level 1      
Fair value measurements on a recurring basis by asset class and level of input      
Total 3,570us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  3,691us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
% of total assets at fair value 25.40%erie_AssetsAsPercentOfAssetsMeasuredAtFairValueRecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  26.90%erie_AssetsAsPercentOfAssetsMeasuredAtFairValueRecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair value measurements on a recurring basis | Level 2      
Fair value measurements on a recurring basis by asset class and level of input      
Total 10,338us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  9,863us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
% of total assets at fair value 73.50%erie_AssetsAsPercentOfAssetsMeasuredAtFairValueRecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  71.70%erie_AssetsAsPercentOfAssetsMeasuredAtFairValueRecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair value measurements on a recurring basis | Level 3      
Fair value measurements on a recurring basis by asset class and level of input      
Total 163us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  194us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
% of total assets at fair value 1.10%erie_AssetsAsPercentOfAssetsMeasuredAtFairValueRecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  1.40%erie_AssetsAsPercentOfAssetsMeasuredAtFairValueRecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair value measurements on a recurring basis | Level 3 | Real estate      
Other investments:      
Number of real estate funds reported under fair value option 4erie_NumberOfRealEstateFundsReportedUnderFairValueOption
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
  4erie_NumberOfRealEstateFundsReportedUnderFairValueOption
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
Indemnity      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 581us-gaap_AvailableForSaleSecurities
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  589us-gaap_AvailableForSaleSecurities
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 581us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  589us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Total 588us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  597us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Fixed maturities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 556us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  564us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | States & political subdivisions      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 225us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  231us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Corporate debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 232us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  234us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Residential mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 8us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  8us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Commercial mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 50us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  51us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Collateralized debt obligations      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 36us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  33us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Other debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 5us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  7us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Nonredeemable preferred stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 12us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  12us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Common stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 13us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  13us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Real estate      
Fair value measurements on a recurring basis by asset class and level of input      
Other investments 7us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  8us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 15us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  15us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Total 15us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  15us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Fixed maturities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | States & political subdivisions      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Corporate debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Residential mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Commercial mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Collateralized debt obligations      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Other debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Nonredeemable preferred stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 2us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  2us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Common stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 13us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  13us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 1 | Real estate      
Fair value measurements on a recurring basis by asset class and level of input      
Other investments 0us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 566us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  574us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Total 566us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  574us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Fixed maturities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 556us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  564us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | States & political subdivisions      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 225us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  231us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Corporate debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 232us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  234us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Residential mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 8us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  8us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Commercial mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 50us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  51us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Collateralized debt obligations      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 36us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  33us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Other debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 5us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  7us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Nonredeemable preferred stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 10us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  10us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Common stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 2 | Real estate      
Fair value measurements on a recurring basis by asset class and level of input      
Other investments 0us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Total 7us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  8us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Fixed maturities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | States & political subdivisions      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Corporate debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Residential mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Commercial mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Collateralized debt obligations      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Other debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Nonredeemable preferred stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Common stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Indemnity | Fair value measurements on a recurring basis | Level 3 | Real estate      
Fair value measurements on a recurring basis by asset class and level of input      
Other investments 7us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  8us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Other investments:      
Contributions made to the funds 0us-gaap_PaymentsToAcquireLimitedPartnershipInterests
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0us-gaap_PaymentsToAcquireLimitedPartnershipInterests
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Distributions received from the funds 0.9us-gaap_ProceedsFromLimitedPartnershipInvestments
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  12.9us-gaap_ProceedsFromLimitedPartnershipInvestments
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Unfunded commitments 0.6us-gaap_FairValueInvestmentsEntitiesThatCalculateNetAssetValuePerShareUnfundedCommittments
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
  0.6us-gaap_FairValueInvestmentsEntitiesThatCalculateNetAssetValuePerShareUnfundedCommittments
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_ParentCompanyMember
Exchange      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 10,336us-gaap_AvailableForSaleSecurities
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  9,857us-gaap_AvailableForSaleSecurities
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 10,336us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  9,857us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Trading securities 3,096us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  3,223us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Total 13,483us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  13,151us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Fixed maturities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 9,499us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  9,007us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | U.S. treasury      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 6us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  6us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Government sponsored enterprises      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 4us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  4us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | States & political subdivisions      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 1,506us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  1,477us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Foreign government securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 82us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  10us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Corporate debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 7,724us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  7,289us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Residential mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 58us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  111us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Commercial mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 30us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  30us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Collateralized debt obligations      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 11us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  11us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Other debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 78us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  69us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Nonredeemable preferred stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 738us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  710us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Common stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 99us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  140us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Trading securities 3,096us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  3,223us-gaap_TradingSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Real estate      
Fair value measurements on a recurring basis by asset class and level of input      
Other investments 51us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  71us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 474us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  468us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Trading securities 3,081us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  3,208us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Total 3,555us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  3,676us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Fixed maturities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | U.S. treasury      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Government sponsored enterprises      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | States & political subdivisions      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Foreign government securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Corporate debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Residential mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Commercial mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Collateralized debt obligations      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Other debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Nonredeemable preferred stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 375us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  328us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Common stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 99us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  140us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Trading securities 3,081us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  3,208us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 1 | Real estate      
Fair value measurements on a recurring basis by asset class and level of input      
Other investments 0us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 9,772us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  9,289us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Trading securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Total 9,772us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  9,289us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Fixed maturities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 9,410us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  8,908us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | U.S. treasury      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 6us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  6us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Government sponsored enterprises      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 4us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  4us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | States & political subdivisions      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 1,506us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  1,477us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Foreign government securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 82us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  10us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Corporate debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 7,644us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  7,202us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Residential mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 58us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  111us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Commercial mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 30us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  30us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Collateralized debt obligations      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 11us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  11us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Other debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 69us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  57us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Nonredeemable preferred stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 362us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  381us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Common stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Trading securities 0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 2 | Real estate      
Fair value measurements on a recurring basis by asset class and level of input      
Other investments 0us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 90us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  100us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Trading securities 15us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  15us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Total 156us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  186us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Fixed maturities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 89us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  99us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_DebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | U.S. treasury      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USTreasurySecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Government sponsored enterprises      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USGovernmentSponsoredEnterprisesDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | States & political subdivisions      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Foreign government securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Corporate debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 80us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  87us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CorporateDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Residential mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_ResidentialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Commercial mortgage-backed securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Collateralized debt obligations      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CollateralizedDebtObligationsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Other debt securities      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 9us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  12us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_OtherDebtSecuritiesMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Nonredeemable preferred stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 1us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  1us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_NonredeemablePreferredStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Common stock      
Fair value measurements on a recurring basis by asset class and level of input      
Available-for-sale securities 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Trading securities 15us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  15us-gaap_TradingSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_CommonStockMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Exchange | Fair value measurements on a recurring basis | Level 3 | Real estate      
Fair value measurements on a recurring basis by asset class and level of input      
Other investments 51us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  71us-gaap_AlternativeInvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Other investments:      
Contributions made to the funds 0us-gaap_PaymentsToAcquireLimitedPartnershipInterests
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  0us-gaap_PaymentsToAcquireLimitedPartnershipInterests
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Distributions received from the funds 20.7us-gaap_ProceedsFromLimitedPartnershipInvestments
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  41.5us-gaap_ProceedsFromLimitedPartnershipInvestments
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Unfunded commitments $ 1.7us-gaap_FairValueInvestmentsEntitiesThatCalculateNetAssetValuePerShareUnfundedCommittments
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
  $ 1.7us-gaap_FairValueInvestmentsEntitiesThatCalculateNetAssetValuePerShareUnfundedCommittments
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_InvestmentTypeAxis
= us-gaap_RealEstateFundsMember
/ dei_LegalEntityAxis
= us-gaap_VariableInterestEntityPrimaryBeneficiaryMember
Minimum | Fair value measurements on a recurring basis | Level 3 | Real estate      
Other investments:      
Underlying assets, liquidation period from inception of fund (in years) 5 years   5 years
Maximum | Fair value measurements on a recurring basis | Level 3 | Real estate      
Other investments:      
Underlying assets, liquidation period from inception of fund (in years) 10 years   10 years