 | us-gaap:UseFinancialStatementLineItemElementsWithDimensionElementsForEffectOfAmendmentFromAccountingStandardsUpdateGuidance | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ProfitLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:EarningsPerShareBasic | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:EarningsPerShareDiluted | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:RetainedEarningsAccumulatedDeficit | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateEarlyAdoption | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateTransitionOptionElectedExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:AccountingStandardsUpdateExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAccountingPrincipleTypeExtensibleList | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:FairValueOptionFinancialInstrumentMeasuredAtAmortizedCostCreditLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ServiceConcessionArrangementRetrospectiveApplicationAllContracts | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ServiceConcessionArrangementRetrospectiveApplicationNotCompletedContracts | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:AccountingStandardsUpdate201818ApplicationFixedList | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateRetrospectiveApplicationImpracticable | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:NewAccountingPronouncementOrChangeInAccountingPrinciplePriorPeriodNotRestated | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:NewAccountingPronouncementOrChangeInAccountingPrincipleDescriptionOfPriorperiodInformationRetrospectivelyAdjusted | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:NewAccountingPronouncementOrChangeInAccountingPrincipleDescription | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:DebtSecuritiesHeldToMaturityReferenceRateReformSaleOrTransferElection | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:NewAccountingPronouncementsOrChangeInAccountingPrincipleTable | all | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ProfitLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:EarningsPerShareBasic | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:EarningsPerShareDiluted | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:RetainedEarningsAccumulatedDeficit | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdopted | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateEarlyAdoption | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateTransitionOptionElectedExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateAdoptionDate | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateImmaterialEffect | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:AccountingStandardsUpdateExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ChangeInAccountingPrincipleTypeExtensibleList | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:FairValueOptionFinancialInstrumentMeasuredAtAmortizedCostCreditLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ServiceConcessionArrangementRetrospectiveApplicationAllContracts | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ServiceConcessionArrangementRetrospectiveApplicationNotCompletedContracts | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:AccountingStandardsUpdate201818ApplicationFixedList | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ChangeInAccountingPrincipleAccountingStandardsUpdateRetrospectiveApplicationImpracticable | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:NewAccountingPronouncementOrChangeInAccountingPrinciplePriorPeriodNotRestated | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:NewAccountingPronouncementOrChangeInAccountingPrincipleDescriptionOfPriorperiodInformationRetrospectivelyAdjusted | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:NewAccountingPronouncementOrChangeInAccountingPrincipleDescription | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:DebtSecuritiesHeldToMaturityReferenceRateReformSaleOrTransferElection | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ProfitLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:OtherComprehensiveIncomeLossNetOfTax | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:CommonStockSharesOutstanding | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:NewAccountingPronouncementsOrChangeInAccountingPrincipleTable | all | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceANewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:ProfitLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceANewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:OtherComprehensiveIncomeLossNetOfTax | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceANewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceANewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceANewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:CommonStockSharesOutstanding | domain-member | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceANewAccountingPronouncementsOrChangeInAccountingPrincipleTable |