XML 30 R52.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans and the Allowance for Loan Losses, Activity In Period (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Allowance for loan losses by segment [Roll Forward]    
Beginning Balance $ 6,831us-gaap_FinancingReceivableAllowanceForCreditLosses $ 7,324us-gaap_FinancingReceivableAllowanceForCreditLosses
Charges-offs (1,238)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs (2,706)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
Recoveries 882us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery 913us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
Provision for loan losses 600us-gaap_ProvisionForLoanLeaseAndOtherLosses 1,300us-gaap_ProvisionForLoanLeaseAndOtherLosses
Ending balance 7,075us-gaap_FinancingReceivableAllowanceForCreditLosses 6,831us-gaap_FinancingReceivableAllowanceForCreditLosses
Ending balances individually evaluated for impairment 702us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1 1,693us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
Ending balances collectively evaluated for impairment 6,373us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment 5,138us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
Ending balance 7,075us-gaap_FinancingReceivableAllowanceForCreditLosses 6,831us-gaap_FinancingReceivableAllowanceForCreditLosses
Loan Balances [Abstract]    
Ending balance individually evaluated for impairment 14,428us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment 19,785us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
Ending balance collectively evaluated for impairment 521,566us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment 480,914us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
Ending balance 535,994us-gaap_LoansAndLeasesReceivableGrossCarryingAmount 500,699us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Calculated provision based on current methodology 600opof_CalculatedProvisionBasedOnCurrentMethodology  
Calculated provision based on prior methodology (255)opof_CalculatedProvisionBasedOnPriorMethodology  
Changes for allowance for loan losses 855opof_ChangesForAllowanceForLoanLosses  
Commercial [Member]    
Allowance for loan losses by segment [Roll Forward]    
Beginning Balance 350us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
677us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Charges-offs (286)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
(200)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Recoveries 55us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
76us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Provision for loan losses 476us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
(203)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Ending balance 595us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
350us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Ending balances individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Ending balances collectively evaluated for impairment 595us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
350us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Ending balance 595us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
350us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Loan Balances [Abstract]    
Ending balance individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
149us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Ending balance collectively evaluated for impairment 37,698us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
30,553us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Ending balance 37,698us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
30,702us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
Calculated provision based on current methodology 476opof_CalculatedProvisionBasedOnCurrentMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Calculated provision based on prior methodology 320opof_CalculatedProvisionBasedOnPriorMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Changes for allowance for loan losses 156opof_ChangesForAllowanceForLoanLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Real Estate - Construction [Member]    
Allowance for loan losses by segment [Roll Forward]    
Beginning Balance 662us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
187us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Charges-offs (51)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
(501)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Recoveries 173us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
6us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Provision for loan losses (81)us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
970us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Ending balance 703us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
662us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Ending balances individually evaluated for impairment 270us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Ending balances collectively evaluated for impairment 433us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
662us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Ending balance 703us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
662us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Loan Balances [Abstract]    
Ending balance individually evaluated for impairment 1,157us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
2,545us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Ending balance collectively evaluated for impairment 7,925us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
11,960us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Ending balance 9,082us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
14,505us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
Calculated provision based on current methodology (81)opof_CalculatedProvisionBasedOnCurrentMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
 
Calculated provision based on prior methodology (143)opof_CalculatedProvisionBasedOnPriorMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
 
Changes for allowance for loan losses 62opof_ChangesForAllowanceForLoanLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConstructionLoansMember
 
Real Estate - Mortgage [Member]    
Allowance for loan losses by segment [Roll Forward]    
Beginning Balance 5,357us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
6,179us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Charges-offs (563)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
(1,548)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Recoveries 524us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
513us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Provision for loan losses 29us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
213us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Ending balance 5,347us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
5,357us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Ending balances individually evaluated for impairment 432us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
1,693us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Ending balances collectively evaluated for impairment 4,915us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
3,664us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Ending balance 5,347us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
5,357us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Loan Balances [Abstract]    
Ending balance individually evaluated for impairment 13,257us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
17,076us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Ending balance collectively evaluated for impairment 422,657us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
399,890us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Ending balance 435,914us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
416,966us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
Calculated provision based on current methodology 29opof_CalculatedProvisionBasedOnCurrentMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
 
Calculated provision based on prior methodology (520)opof_CalculatedProvisionBasedOnPriorMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
 
Changes for allowance for loan losses 549opof_ChangesForAllowanceForLoanLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_MortgageReceivablesMember
 
Consumer [Member]    
Allowance for loan losses by segment [Roll Forward]    
Beginning Balance 294us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
204us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Charges-offs (163)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
(141)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Recoveries 64us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
111us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Provision for loan losses 24us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
120us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ending balance 219us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
294us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ending balances individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ending balances collectively evaluated for impairment 219us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
294us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ending balance 219us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
294us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Loan Balances [Abstract]    
Ending balance individually evaluated for impairment 14us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
15us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ending balance collectively evaluated for impairment 30,479us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
19,776us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Ending balance 30,493us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
19,791us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Calculated provision based on current methodology 24opof_CalculatedProvisionBasedOnCurrentMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Calculated provision based on prior methodology (69)opof_CalculatedProvisionBasedOnPriorMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Changes for allowance for loan losses 93opof_ChangesForAllowanceForLoanLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
 
Other [Member]    
Allowance for loan losses by segment [Roll Forward]    
Beginning Balance 168us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
77us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Charges-offs (175)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
(316)us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Recoveries 66us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
207us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Provision for loan losses 152us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
200us-gaap_ProvisionForLoanLeaseAndOtherLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Ending balance 211us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
168us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Ending balances individually evaluated for impairment 0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
0us-gaap_FinancingReceivableAllowanceForCreditLossesIndividuallyEvaluatedForImpairment1
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Ending balances collectively evaluated for impairment 211us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
168us-gaap_FinancingReceivableAllowanceForCreditLossesCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Ending balance 211us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
168us-gaap_FinancingReceivableAllowanceForCreditLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Loan Balances [Abstract]    
Ending balance individually evaluated for impairment 0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
0us-gaap_FinancingReceivableIndividuallyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Ending balance collectively evaluated for impairment 22,807us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
18,735us-gaap_FinancingReceivableCollectivelyEvaluatedForImpairment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Ending balance 22,807us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
18,735us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
Calculated provision based on current methodology 152opof_CalculatedProvisionBasedOnCurrentMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
 
Calculated provision based on prior methodology 157opof_CalculatedProvisionBasedOnPriorMethodology
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember
 
Changes for allowance for loan losses $ (5)opof_ChangesForAllowanceForLoanLosses
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_UnallocatedFinancingReceivablesMember