XML 34 R40.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans and Allowance for Credit Losses - Loan Portfolio Aging (Details) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due $ 2,338us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue $ 913us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
60-89 Days Past Due 30us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue 88us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
Greater Than 90 Days Past Due 898us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue 476us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
Total Past Due 3,266us-gaap_FinancingReceivableRecordedInvestmentPastDue 1,477us-gaap_FinancingReceivableRecordedInvestmentPastDue
Current 573,464us-gaap_FinancingReceivableRecordedInvestmentCurrent 570,965us-gaap_FinancingReceivableRecordedInvestmentCurrent
Loans 576,730us-gaap_NotesReceivableGross 572,442us-gaap_NotesReceivableGross
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
Non-accrual 13,696us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus 14,052us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
Commercial    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Loans 124,339us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
128,147us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Real Estate Portfolio Segment    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Loans 398,998us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstatePortfolioSegmentMember
386,627us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstatePortfolioSegmentMember
Consumer    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
Loans 53,393us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
57,668us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Commercial and industrial    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 886us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
172us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
60-89 Days Past Due 30us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
88us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
Greater Than 90 Days Past Due 62us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
Total Past Due 978us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
260us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
Current 89,258us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
88,747us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
Loans 90,236us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
89,007us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
Non-accrual 6,422us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
7,265us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_CommercialAndIndustrialMember
Agricultural land and production    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
60-89 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
Greater Than 90 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
Current 34,103us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
39,140us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
Loans 34,103us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
39,140us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalLandAndProductionMember
Owner occupied    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
164us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
60-89 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
Greater Than 90 Days Past Due 247us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
249us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
Total Past Due 247us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
413us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
Current 175,509us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
176,391us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
Loans 175,756us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
176,804us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
Non-accrual 1,375us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
1,363us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OwnerOccupiedRealEstateMember
Real estate construction and other land loans    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
547us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
60-89 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
Greater Than 90 Days Past Due 589us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
Total Past Due 589us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
547us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
Current 39,691us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
38,376us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
Loans 40,280us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
38,923us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
Non-accrual 589us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
547us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_RealEstateConstructionAndOtherLandLoansMember
Commercial real estate    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
60-89 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Greater Than 90 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Current 108,086us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
106,788us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Loans 108,086us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
106,788us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Non-accrual 2,124us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
1,468us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstateMember
Agricultural real estate    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
60-89 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
Greater Than 90 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
Current 67,202us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
57,501us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
Loans 67,202us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
57,501us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
Non-accrual 360us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
360us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_AgriculturalRealEstateMember
Other real estate    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
60-89 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
Greater Than 90 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
Current 7,674us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
6,611us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
Loans 7,674us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
6,611us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
Non-accrual 0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
0us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_OtherRealEstateMember
Equity loans and lines of credit    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 1,437us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
60-89 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
Greater Than 90 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
227us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
Total Past Due 1,437us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
227us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
Current 44,307us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
47,348us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
Loans 45,744us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
47,575us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
Non-accrual 2,808us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
3,030us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_EquityLoansAndLinesOfCreditMember
Consumer and installment    
Financing Receivable, Recorded Investment, Past Due [Line Items]    
30-59 Days Past Due 15us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
30us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
60-89 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
Greater Than 90 Days Past Due 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
Total Past Due 15us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
30us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
Current 7,634us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
10,063us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
Loans 7,649us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
10,093us-gaap_NotesReceivableGross
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
Recorded Investment Greater Than 90 Days Accruing 0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
0us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
Non-accrual $ 18us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember
$ 19us-gaap_FinancingReceivableRecordedInvestmentNonaccrualStatus
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= cvcy_ConsumerAndInstallmentMember