XML 12 R39.htm IDEA: XBRL DOCUMENT v2.4.1.9
Note 4 - Loans and Allowance for Loan Losses (Details) - TDR Loan Modifications (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Residential real estate    
Troubled Debt Restructurings $ 18,525us-gaap_FinancingReceivableModificationsRecordedInvestment  
Interest Only Payments [Member] | Residential Portfolio Segment [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 516us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
520us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Interest Only Payments [Member] | Residential Portfolio Segment [Member]    
Residential real estate    
Troubled Debt Restructurings 516us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
520us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
Interest Only Payments [Member] | Commercial Real Estate Owner Occupied [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 457us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
457us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Interest Only Payments [Member] | Commercial Real Estate Owner Occupied [Member]    
Residential real estate    
Troubled Debt Restructurings 457us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
457us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
Interest Only Payments [Member] | Commercial Real Estate Nonowner Occupied [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 3,487us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
3,535us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Interest Only Payments [Member] | Commercial Real Estate Nonowner Occupied [Member] | Nonperforming Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 3,988us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
4,013us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Interest Only Payments [Member] | Commercial Real Estate Nonowner Occupied [Member]    
Residential real estate    
Troubled Debt Restructurings 7,475us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
7,548us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
Interest Only Payments [Member] | Commercial and Industrial [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 6,963us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialAndIndustrialMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
6,429us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialAndIndustrialMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Interest Only Payments [Member] | Commercial and Industrial [Member]    
Residential real estate    
Troubled Debt Restructurings 6,963us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialAndIndustrialMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
6,429us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialAndIndustrialMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_InterestOnlyPaymentsMember
Rate Reduction [Member] | Commercial Real Estate Owner Occupied [Member] | Nonperforming Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 240us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_RateReductionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
244us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_RateReductionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Rate Reduction [Member] | Commercial Real Estate Owner Occupied [Member]    
Residential real estate    
Troubled Debt Restructurings 240us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_RateReductionMember
244us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_RateReductionMember
Rate Reduction [Member] | Commercial Real Estate Nonowner Occupied [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 405us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_RateReductionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
408us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_RateReductionMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Rate Reduction [Member] | Commercial Real Estate Nonowner Occupied [Member]    
Residential real estate    
Troubled Debt Restructurings 405us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_RateReductionMember
408us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateNonownerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_RateReductionMember
Reduction of Principal and Interest Payments [Member] | Commercial Real Estate Owner Occupied [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 621us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_ReductionOfPrincipalAndInterestPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
627us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_ReductionOfPrincipalAndInterestPaymentsMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Reduction of Principal and Interest Payments [Member] | Commercial Real Estate Owner Occupied [Member]    
Residential real estate    
Troubled Debt Restructurings 621us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_ReductionOfPrincipalAndInterestPaymentsMember
627us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_ReductionOfPrincipalAndInterestPaymentsMember
Maturity Extension at Lower Stated Rate Than Market Rate [Member] | Commercial Real Estate Owner Occupied [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 1,030us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_MaturityExtensionAtLowerStatedRateThanMarketRateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
1,046us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_MaturityExtensionAtLowerStatedRateThanMarketRateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Maturity Extension at Lower Stated Rate Than Market Rate [Member] | Commercial Real Estate Owner Occupied [Member]    
Residential real estate    
Troubled Debt Restructurings 1,030us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_MaturityExtensionAtLowerStatedRateThanMarketRateMember
1,046us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_MaturityExtensionAtLowerStatedRateThanMarketRateMember
Maturity Extension at Lower Stated Rate Than Market Rate [Member] | Home Equity Loans [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 219us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_MaturityExtensionAtLowerStatedRateThanMarketRateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
219us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_MaturityExtensionAtLowerStatedRateThanMarketRateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Maturity Extension at Lower Stated Rate Than Market Rate [Member] | Home Equity Loans [Member]    
Residential real estate    
Troubled Debt Restructurings 219us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_MaturityExtensionAtLowerStatedRateThanMarketRateMember
219us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_HomeEquityLoansMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_MaturityExtensionAtLowerStatedRateThanMarketRateMember
Credit Extension at Lower State Rate than Market Rate [Member] | Commercial Real Estate Owner Occupied [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 204us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_CreditExtensionAtLowerStateRateThanMarketRateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
204us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_CreditExtensionAtLowerStateRateThanMarketRateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Credit Extension at Lower State Rate than Market Rate [Member] | Commercial Real Estate Owner Occupied [Member]    
Residential real estate    
Troubled Debt Restructurings 204us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_CreditExtensionAtLowerStateRateThanMarketRateMember
204us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialRealEstateOwnerOccupiedMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_CreditExtensionAtLowerStateRateThanMarketRateMember
Credit Extension at Lower State Rate than Market Rate [Member] | Commercial and Industrial [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 395us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialAndIndustrialMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_CreditExtensionAtLowerStateRateThanMarketRateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
395us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialAndIndustrialMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_CreditExtensionAtLowerStateRateThanMarketRateMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Credit Extension at Lower State Rate than Market Rate [Member] | Commercial and Industrial [Member]    
Residential real estate    
Troubled Debt Restructurings 395us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialAndIndustrialMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_CreditExtensionAtLowerStateRateThanMarketRateMember
395us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_CommercialAndIndustrialMember
/ us-gaap_FinancingReceivableTroubledDebtRestructuringAxis
= ovbc_CreditExtensionAtLowerStateRateThanMarketRateMember
Home Equity Loans [Member] | Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings   13,840us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
Home Equity Loans [Member] | Nonperforming Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings   4,257us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_HomeEquityLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember
Home Equity Loans [Member]    
Residential real estate    
Troubled Debt Restructurings   18,097us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= ovbc_HomeEquityLoansMember
Performing Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings 14,297us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PerformingFinancingReceivableMember
 
Nonperforming Financing Receivable [Member]    
Residential real estate    
Troubled Debt Restructurings $ 4,228us-gaap_FinancingReceivableModificationsRecordedInvestment
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_NonperformingFinancingReceivableMember