XML 83 R68.htm IDEA: XBRL DOCUMENT v2.4.1.9
Allowance for Loan Losses (Impaired Loans By Class) (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance $ 18,636us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance $ 14,707us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance  
Recorded Investment 17,055us-gaap_ImpairedFinancingReceivableRecordedInvestment 13,810us-gaap_ImpairedFinancingReceivableRecordedInvestment  
Related Allowance 643us-gaap_ImpairedFinancingReceivableRelatedAllowance 1,478us-gaap_ImpairedFinancingReceivableRelatedAllowance  
Average Recorded Investment 19,051us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 15,209us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 17,700us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
Interest Income Recognized 454us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod 681us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod 743us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
Commercial [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 2,448us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
1,532us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Recorded Investment 2,107us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
1,366us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Related Allowance 44us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
334us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Average Recorded Investment 2,545us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
1,600us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Interest Income Recognized 19us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
67us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
 
Commercial Real Estate [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 6,188us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
5,052us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
 
Recorded Investment 5,722us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
4,782us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
 
Related Allowance 203us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
299us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
 
Average Recorded Investment 6,357us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
5,136us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
 
Interest Income Recognized 167us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
258us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
 
Construction And Farmland [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 2,704us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
2,692us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
 
Recorded Investment 2,669us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
2,684us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
 
Related Allowance 93us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
218us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
 
Average Recorded Investment 2,755us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
2,728us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
 
Interest Income Recognized 73us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
115us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandFinancingReceivableMember
 
Residential [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 7,296us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
5,425us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
 
Recorded Investment 6,557us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
4,972us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
 
Related Allowance 303us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
627us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
 
Average Recorded Investment 7,394us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
5,738us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
 
Interest Income Recognized 195us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
240us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
 
All Other Loans [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
6us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
 
Recorded Investment 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
6us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
 
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
 
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
7us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
 
Interest Income Recognized   1us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
 
With No Related Allowance [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 15,863us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
10,475us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment 14,661us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
9,613us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 16,242us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
10,757us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 370us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
477us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | Commercial - Non Real Estate Commercial And Industrial [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 2,159us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
289us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment 2,013us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
145us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 2,256us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
329us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 19us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
8us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | Commercial Real Estate Owner Occupied [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 2,824us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
2,474us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment 2,473us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
2,273us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 2,857us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
2,512us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 48us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
118us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | Commercial Real Estate Non-Owner Occupied [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 2,675us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
1,470us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment 2,560us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
1,398us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 2,796us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
1,498us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 86us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
91us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | Construction And Farmland Residential [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment   0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | Construction And Farmland Commercial [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 2,319us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
2,391us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment 2,319us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
2,401us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 2,362us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
2,420us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 68us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
97us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | Residential Equity Lines [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 252us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
455us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment 78us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
290us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 252us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
460us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
16us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | Residential Single Family [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 5,634us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
3,390us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment 5,218us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
3,100us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 5,719us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
3,531us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 149us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
146us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | Residential Multifamily [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With No Related Allowance [Member] | All Other Loans [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance   6us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Recorded Investment   6us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Average Recorded Investment   7us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
Interest Income Recognized   1us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithNoRelatedAllowanceMember
 
With An Allowance Recorded [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 2,773us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
4,232us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 2,394us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
4,197us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 643us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,478us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 2,809us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
4,452us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 84us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
204us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | Commercial - Non Real Estate Commercial And Industrial [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 289us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,243us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 94us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,221us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 44us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
334us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 289us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,271us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
59us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialNonRealEstateCommercialAndIndustrialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | Commercial Real Estate Owner Occupied [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 689us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 689us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 203us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 704us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 33us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | Commercial Real Estate Non-Owner Occupied [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,108us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,111us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
299us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,126us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
49us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_CommercialRealEstateNonOwnerOccupiedMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | Construction And Farmland Residential [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandResidentialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | Construction And Farmland Commercial [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 385us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
301us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 350us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
283us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 93us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
218us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 393us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
308us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 5us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
18us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ConstructionAndFarmlandCommercialFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | Residential Equity Lines [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 403us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
75us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 253us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
74us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 95us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
74us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 403us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
217us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 5us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
7us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialEquityLinesFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | Residential Single Family [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 1,007us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,505us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 1,008us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,508us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 208us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
553us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 1,020us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
1,530us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 41us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
71us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialSingleFamilyMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | Residential Multifamily [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_ResidentialMultifamilyFinancingReceivableMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
With An Allowance Recorded [Member] | All Other Loans [Member]      
Financing Receivable, Impaired [Line Items]      
Unpaid Principal Balance 0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Recorded Investment 0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
 
Interest Income Recognized $ 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember
$ 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= efsi_OtherLoansMember
/ efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis
= efsi_WithAllowanceMember