 | us-gaap:ClassificationOfVariableInterestEntityDomain | dep-concept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:VariableInterestEntityPrimaryBeneficiaryMember | parent-child | http://fasb.org/us-gaap/role/disclosure/OrganizationConsolidationAndPresentationOfFinancialStatements |
 | us-gaap:VariableInterestEntityNotPrimaryBeneficiaryMember | parent-child | http://fasb.org/us-gaap/role/disclosure/OrganizationConsolidationAndPresentationOfFinancialStatements |
 | us-gaap:ConsolidatedEntityExcludingVieMember | parent-child | http://fasb.org/us-gaap/role/disclosure/OrganizationConsolidationAndPresentationOfFinancialStatements |
 | us-gaap:VariableInterestEntityPrimaryBeneficiaryMember | domain-member | http://fasb.org/us-gaap/role/disclosure/OrganizationConsolidationAndPresentationOfFinancialStatementsScheduleOfVariableInterestEntitiesTable |
 | us-gaap:VariableInterestEntityNotPrimaryBeneficiaryMember | domain-member | http://fasb.org/us-gaap/role/disclosure/OrganizationConsolidationAndPresentationOfFinancialStatementsScheduleOfVariableInterestEntitiesTable |
 | us-gaap:ConsolidatedEntityExcludingVieMember | domain-member | http://fasb.org/us-gaap/role/disclosure/OrganizationConsolidationAndPresentationOfFinancialStatementsScheduleOfVariableInterestEntitiesTable |
 | us-gaap:VariableInterestEntityPrimaryBeneficiaryMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:VariableInterestEntityNotPrimaryBeneficiaryMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:ConsolidatedEntityExcludingVieMember | parent-child | http://fasb.org/us-gaap/role/disclosure/AccountingPolicies |
 | us-gaap:VariableInterestEntityPrimaryBeneficiaryMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfVariableInterestEntitiesTable |
 | us-gaap:VariableInterestEntityNotPrimaryBeneficiaryMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfVariableInterestEntitiesTable |
 | us-gaap:ConsolidatedEntityExcludingVieMember | domain-member | http://fasb.org/us-gaap/role/disclosure/AccountingPoliciesScheduleOfVariableInterestEntitiesTable |