 | us-gaap:ServicingAssetAtAmortizedValue | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedValueAdditions | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedValueDisposals | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedValueAmortization1 | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedValueValuationAllowance | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedCostOtherThanTemporaryImpairments | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedValueOtherChangesThatAffectBalanceAmount | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedValuePeriodIncreaseDecrease | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedValue | parent-child | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicing |
 | us-gaap:ServicingAssetAtAmortizedValue | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |
 | us-gaap:ServicingAssetAtAmortizedValueAdditions | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |
 | us-gaap:ServicingAssetAtAmortizedValueDisposals | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |
 | us-gaap:ServicingAssetAtAmortizedValueAmortization1 | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |
 | us-gaap:ServicingAssetAtAmortizedValueValuationAllowance | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |
 | us-gaap:ServicingAssetAtAmortizedCostOtherThanTemporaryImpairments | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |
 | us-gaap:ServicingAssetAtAmortizedValueOtherChangesThatAffectBalanceAmount | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |
 | us-gaap:ServicingAssetAtAmortizedValuePeriodIncreaseDecrease | domain-member | http://fasb.org/us-gaap/role/disclosure/TransfersAndServicingServicingAssetsAtAmortizedValueTable |