XML 15 R48.htm IDEA: XBRL DOCUMENT v2.4.1.9
Allowance For Loan Losses (Schedule Of Aging Analysis Of Accruing And Non-Accruing Loans) (Details) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current $ 2,606,134us-gaap_FinancingReceivableRecordedInvestmentCurrent $ 2,626,094us-gaap_FinancingReceivableRecordedInvestmentCurrent
30 - 59 days past due 7,701us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue 7,734us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
60 - 89 days past due 687us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue 1,239us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
Over 90 days past due 383us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue 423us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
Financing Receivable, Acquired with Deteriorated Credit Quality, Recorded Investment, Past Due 1,383chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue 1,270chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
Non-accrual 16,183us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus 15,306us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
Total 2,632,471us-gaap_LoansAndLeasesReceivableGrossCarryingAmount 2,652,066us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Residential Real Estate [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 1,294,841us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
1,286,306us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
30 - 59 days past due 5,276us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
4,949us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
60 - 89 days past due 597us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
758us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Over 90 days past due 245us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
169us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Non-accrual 2,299us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
2,394us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Total 1,303,258us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
1,294,576us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Home equity - junior lien [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 142,949us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
144,788us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
30 - 59 days past due 557us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
563us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
60 - 89 days past due 71us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
155us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Over 90 days past due 1us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
30us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Non-accrual 92us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
68us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Total 143,670us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
145,604us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Commercial And Industrial [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 120,393us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
131,073us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
30 - 59 days past due 558us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
243us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Over 90 days past due 45us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
210us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Financing Receivable, Acquired with Deteriorated Credit Quality, Recorded Investment, Past Due 0chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
0chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Non-accrual 3,346us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
1,115us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Total 124,342us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
132,641us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Commercial Real Estate [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 1,006,799us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
1,022,158us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
30 - 59 days past due 934us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
1,371us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
210us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Over 90 days past due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Financing Receivable, Acquired with Deteriorated Credit Quality, Recorded Investment, Past Due 1,383chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
1,270chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Non-accrual 10,446us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
11,729us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Total 1,019,562us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
1,036,738us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Consumer Loan [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 38,164us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
39,286us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
30 - 59 days past due 164us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
291us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
60 - 89 days past due 16us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
114us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Over 90 days past due 92us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
14us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Total 38,436us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
39,705us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Demand Deposit Account Overdrafts [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 2,988us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
2,483us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
30 - 59 days past due 212us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
317us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
60 - 89 days past due 3us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
2us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Over 90 days past due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Total 3,203us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
2,802us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Noncommercial Loans [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 1,488,567us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_NoncommercialLoansMember
1,482,687us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_NoncommercialLoansMember
Originated Loans [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 2,360,162us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
2,376,849us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
30 - 59 days past due 5,015us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
5,811us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
60 - 89 days past due 445us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
993us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
Over 90 days past due 158us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
410us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
Non-accrual 11,818us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
9,735us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
Total 2,377,598us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
2,393,798us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
Originated Loans [Member] | Residential Real Estate [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 1,211,870us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
1,200,177us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
30 - 59 days past due 3,876us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
4,235us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
60 - 89 days past due 371us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
758us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Over 90 days past due 79us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
169us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Non-accrual 2,213us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
2,259us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Total 1,218,409us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
1,207,598us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Originated Loans [Member] | Home equity - junior lien [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 140,763us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
142,624us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
30 - 59 days past due 471us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
561us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
60 - 89 days past due 71us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
155us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Over 90 days past due 1us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
30us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Non-accrual 92us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
68us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Total 141,398us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
143,438us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Originated Loans [Member] | Commercial And Industrial [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 109,661us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
120,950us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
30 - 59 days past due 113us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
100us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Over 90 days past due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
210us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Non-accrual 2,924us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
78us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Total 112,698us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
121,338us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Originated Loans [Member] | Commercial Real Estate [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 862,315us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
877,437us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
30 - 59 days past due 299us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
479us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Over 90 days past due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Non-accrual 6,589us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
7,330us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Total 869,203us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
885,246us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Originated Loans [Member] | Consumer Loan [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 32,565us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
33,178us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
30 - 59 days past due 44us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
119us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
78us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Over 90 days past due 78us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
1us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Total 32,687us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
33,376us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Originated Loans [Member] | Demand Deposit Account Overdrafts [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 2,988us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
2,483us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
30 - 59 days past due 212us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
317us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
60 - 89 days past due 3us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
2us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Over 90 days past due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Total 3,203us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
2,802us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_OriginatedLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Acquired Loans [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 245,972us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
249,245us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
30 - 59 days past due 2,686us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
1,923us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
60 - 89 days past due 242us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
246us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
Over 90 days past due 225us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
13us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
Financing Receivable, Acquired with Deteriorated Credit Quality, Recorded Investment, Past Due 1,383chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
1,270chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
Non-accrual 4,365us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
5,571us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
Total 254,873us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
258,268us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
Acquired Loans [Member] | Residential Real Estate [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 82,971us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
86,129us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
30 - 59 days past due 1,400us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
714us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
60 - 89 days past due 226us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Over 90 days past due 166us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Non-accrual 86us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
135us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Total 84,849us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
86,978us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
Acquired Loans [Member] | Home equity - junior lien [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 2,186us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
2,164us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
30 - 59 days past due 86us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
2us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Over 90 days past due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Total 2,272us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
2,166us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
Acquired Loans [Member] | Commercial And Industrial [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 10,732us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
10,123us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
30 - 59 days past due 445us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
143us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Over 90 days past due 45us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Financing Receivable, Acquired with Deteriorated Credit Quality, Recorded Investment, Past Due 0chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
0chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Non-accrual 422us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
1,037us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Total 11,644us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
11,303us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialLoanMember
Acquired Loans [Member] | Commercial Real Estate [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 144,484us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
144,721us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
30 - 59 days past due 635us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
892us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
210us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Over 90 days past due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Financing Receivable, Acquired with Deteriorated Credit Quality, Recorded Investment, Past Due 1,383chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
1,270chco_FinancingReceivableAcquiredwithDeterioratedCreditQualityRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Non-accrual 3,857us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
4,399us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Total 150,359us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
151,492us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Acquired Loans [Member] | Consumer Loan [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 5,599us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
6,108us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
30 - 59 days past due 120us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
172us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
60 - 89 days past due 16us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
36us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Over 90 days past due 14us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
13us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Total 5,749us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
6,329us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
Acquired Loans [Member] | Demand Deposit Account Overdrafts [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Current 0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
30 - 59 days past due 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
60 - 89 days past due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Over 90 days past due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Total 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= chco_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
Performing [Member] | Residential Real Estate [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 1,300,714us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
1,292,012us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Performing [Member] | Home equity - junior lien [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 143,577us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
145,506us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Performing [Member] | Consumer Loan [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 38,344us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
39,692us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Performing [Member] | Demand Deposit Account Overdrafts [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 3,203us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
2,802us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Performing [Member] | Noncommercial Loans [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 1,485,838us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_NoncommercialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
1,480,012us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_NoncommercialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Nonperforming [Member] | Residential Real Estate [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 2,544us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
2,564us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Nonperforming [Member] | Home equity - junior lien [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 93us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
98us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_HomeEquityMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Nonperforming [Member] | Consumer Loan [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 92us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
13us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerLoanMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Nonperforming [Member] | Demand Deposit Account Overdrafts [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_DemandDepositAccountOverdraftsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Nonperforming [Member] | Noncommercial Loans [Member]    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Total $ 2,729us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_NoncommercialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
$ 2,675us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= chco_NoncommercialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember