 | us-gaap:NewAccountingPronouncementMember | dep-concept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:NewAccountingPronouncementEarlyAdoptionAxis | dep-concept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:NewAccountingPronouncementEarlyAdoptionEffectMember | dep-concept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:ProspectiveAdoptionOfNewAccountingPronouncementsAxis | dep-concept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:NewAccountingPrinciplesEarlyAdoptionMember | dep-concept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:TypeOfAdoptionMember | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncome |
 | us-gaap:TypeOfAdoptionMember | dimension-default | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncomeStatementTable |
 | us-gaap:TypeOfAdoptionMember | dimension-domain | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncomeStatementTable |
 | us-gaap:TypeOfAdoptionMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrections |
 | us-gaap:TypeOfAdoptionMember | dimension-default | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:TypeOfAdoptionMember | dimension-domain | http://fasb.org/us-gaap/role/disclosure/AccountingChangesAndErrorCorrectionsNewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:TypeOfAdoptionMember | parent-child | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomers |
 | us-gaap:TypeOfAdoptionMember | dimension-default | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomersRevenueInitialApplicationPeriodCumulativeEffectTransitionTable |
 | us-gaap:TypeOfAdoptionMember | dimension-domain | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomersRevenueInitialApplicationPeriodCumulativeEffectTransitionTable |
 | us-gaap:TypeOfAdoptionMember | parent-child | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceA |
 | us-gaap:TypeOfAdoptionMember | dimension-default | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceANewAccountingPronouncementsOrChangeInAccountingPrincipleTable |
 | us-gaap:TypeOfAdoptionMember | dimension-domain | http://fasb.org/us-gaap/role/disclosure/FinancialServicesInsuranceANewAccountingPronouncementsOrChangeInAccountingPrincipleTable |