 | us-gaap:BaseRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:FederalFundsEffectiveSwapRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:PrimeRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:EurodollarMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:LondonInterbankOfferedRateLIBORMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:SifmaMunicipalSwapRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:UsTreasuryUstInterestRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:LondonInterbankOfferedRateLiborSwapRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/Debt |
 | us-gaap:BaseRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:FederalFundsEffectiveSwapRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:PrimeRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:EurodollarMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:LondonInterbankOfferedRateLIBORMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:SifmaMunicipalSwapRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:UsTreasuryUstInterestRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:LondonInterbankOfferedRateLiborSwapRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DebtDebtInstrumentTable |
 | us-gaap:BaseRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:FederalFundsEffectiveSwapRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:PrimeRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:EurodollarMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:LondonInterbankOfferedRateLIBORMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:SifmaMunicipalSwapRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:UsTreasuryUstInterestRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:LondonInterbankOfferedRateLiborSwapRateMember | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:BaseRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:FederalFundsEffectiveSwapRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:PrimeRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:EurodollarMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:LondonInterbankOfferedRateLIBORMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:SifmaMunicipalSwapRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:UsTreasuryUstInterestRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |
 | us-gaap:LondonInterbankOfferedRateLiborSwapRateMember | domain-member | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivitiesDerivativeTable |