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

X
- Details
Name: | us-gaap_FinancingReceivableImpairedLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Average amount of investment of impaired financing receivables with related allowance for credit losses and without a related allowance for credit losses. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 15 -Subparagraph (c)(1) -URI http://asc.fasb.org/extlink&oid=28368275&loc=d3e5212-111524 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 17 -URI http://asc.fasb.org/extlink&oid=28368275&loc=d3e5258-111524 + Details
Name: | us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount of interest income recognized that the financing receivables (with related allowance for credit losses and without a related allowance for credit losses) were impaired. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 15 -Subparagraph (c)(2) -URI http://asc.fasb.org/extlink&oid=28368275&loc=d3e5212-111524 + Details
Name: | us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of investment of impaired financing receivables with related allowance for credit losses and without a related allowance for credit losses. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 14A -Subparagraph (b) -URI http://asc.fasb.org/extlink&oid=28368275&loc=SL6953550-111524 + Details
Name: | us-gaap_ImpairedFinancingReceivableRecordedInvestment
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of allowance for credit losses related to recorded investment. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 15 -Subparagraph (a)(3) -URI http://asc.fasb.org/extlink&oid=28368275&loc=d3e5212-111524 + Details
Name: | us-gaap_ImpairedFinancingReceivableRelatedAllowance
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of unpaid principal balance of impaired financing receivables with related allowance for credit losses and without related allowance for credit losses. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 15 -Subparagraph (a)(4) -URI http://asc.fasb.org/extlink&oid=28368275&loc=d3e5212-111524 + Details
Name: | us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis=efsi_WithAllowanceMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | efsi_ImpairedFinancingReceivableWithAndWithoutRecordedAllowanceAxis=efsi_WithNoRelatedAllowanceMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=efsi_ConstructionAndFarmlandFinancingReceivableMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=efsi_OtherLoansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_CommercialPortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_CommercialRealEstatePortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_ResidentialPortfolioSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |