XML 20 R37.htm IDEA: XBRL DOCUMENT v2.4.1.9
Allowance for Losses on Loans - Internally Assigned Grade (Details) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Sep. 30, 2014
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross $ 9,014,755us-gaap_LoansAndLeasesReceivableGrossCarryingAmount $ 8,669,717us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 8,800,830us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
8,423,666us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Total grade as a % of total net loans 97.60%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
97.20%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 20,449us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
37,860us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Total grade as a % of total net loans 0.20%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0.40%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 188,607us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
208,133us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Total grade as a % of total net loans 2.10%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
2.40%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 4,869us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
58us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Total grade as a % of total net loans 0.10%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0.00%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Total grade as a % of total net loans 0.00%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0.00%wfsl_GradeAsPercentageOfTotalGrossLoans
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Single-Family Residential [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 5,546,403us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
5,572,244us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Construction - Speculative [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 163,657us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
140,060us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Construction - Custom [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 370,693us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
385,824us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
Land - Acquisition & Development [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 107,181us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
80,359us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Land - Consumer Lot Loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 104,558us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
111,130us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Multi-Family [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,012,915us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
920,285us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Commercial Real Estate [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 885,177us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
752,957us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Commercial & Industrial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 466,207us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
434,088us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
HELOC [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 136,439us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
134,455us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Consumer [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 221,525us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
138,315us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Non-Acquired Loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 8,775,673us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
8,409,022us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
Non-Acquired Loans [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 8,581,884us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
8,205,380us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 16,292us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
19,504us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 172,628us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
184,138us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 4,869us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Single-Family Residential [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 5,535,104us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
5,560,203us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Non-Acquired Loans [Member] | Single-Family Residential [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 5,426,579us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
5,426,895us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Single-Family Residential [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,343us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
2,793us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Single-Family Residential [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 106,182us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
130,515us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Single-Family Residential [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Single-Family Residential [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Construction - Speculative [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 163,657us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
140,060us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Non-Acquired Loans [Member] | Construction - Speculative [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 157,847us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
134,950us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Construction - Speculative [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Construction - Speculative [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 5,810us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
5,110us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Construction - Speculative [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Construction - Speculative [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Construction - Custom [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 370,693us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
385,824us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
Non-Acquired Loans [Member] | Construction - Custom [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 370,693us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
385,824us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Construction - Custom [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Construction - Custom [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Construction - Custom [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Construction - Custom [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Land - Acquisition & Development [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 105,058us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
77,832us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Non-Acquired Loans [Member] | Land - Acquisition & Development [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 99,686us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
71,692us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Land - Acquisition & Development [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Land - Acquisition & Development [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 5,372us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
6,140us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Land - Acquisition & Development [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Land - Acquisition & Development [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Land - Consumer Lot Loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 102,082us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
108,623us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Non-Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 101,505us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
108,013us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 577us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
610us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Multi-Family [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,010,003us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
917,286us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Non-Acquired Loans [Member] | Multi-Family [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,004,149us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
912,728us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Multi-Family [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Multi-Family [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 5,854us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
4,558us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Multi-Family [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Multi-Family [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Commercial Real Estate [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 741,137us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
591,336us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Non-Acquired Loans [Member] | Commercial Real Estate [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 728,274us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
557,914us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Commercial Real Estate [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
1,971us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Commercial Real Estate [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 12,863us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
31,451us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Commercial Real Estate [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Commercial Real Estate [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Commercial & Industrial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 408,358us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
379,226us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Non-Acquired Loans [Member] | Commercial & Industrial [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 353,998us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
359,221us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Commercial & Industrial [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 13,949us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
14,740us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Commercial & Industrial [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 35,542us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
5,265us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Commercial & Industrial [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 4,869us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Commercial & Industrial [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | HELOC [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 120,901us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
116,042us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Non-Acquired Loans [Member] | HELOC [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 120,653us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
115,794us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | HELOC [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | HELOC [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 248us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
248us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | HELOC [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | HELOC [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Non-Acquired Loans [Member] | Consumer [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 218,680us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
132,590us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Non-Acquired Loans [Member] | Consumer [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 218,500us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
132,349us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Non-Acquired Loans [Member] | Consumer [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Non-Acquired Loans [Member] | Consumer [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 180us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
241us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Non-Acquired Loans [Member] | Consumer [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Non-Acquired Loans [Member] | Consumer [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 169,559us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
181,355us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
Acquired Loans [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 160,927us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
156,954us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,384us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
16,213us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 6,248us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
8,130us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
58us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member] | Single-Family Residential [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 10,977us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
11,716us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Acquired Loans [Member] | Single-Family Residential [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 10,977us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
11,716us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | Single-Family Residential [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | Single-Family Residential [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | Single-Family Residential [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | Single-Family Residential [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member] | Land - Acquisition & Development [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 728us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
905us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Acquired Loans [Member] | Land - Acquisition & Development [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 343us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
503us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | Land - Acquisition & Development [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | Land - Acquisition & Development [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 385us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
402us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | Land - Acquisition & Development [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | Land - Acquisition & Development [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member] | Land - Consumer Lot Loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,476us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
2,507us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,476us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
2,507us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | Land - Consumer Lot Loans [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member] | Multi-Family [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,912us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
2,999us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Acquired Loans [Member] | Multi-Family [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,912us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
2,999us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | Multi-Family [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | Multi-Family [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | Multi-Family [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | Multi-Family [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member] | Commercial Real Estate [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 87,313us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
97,898us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Acquired Loans [Member] | Commercial Real Estate [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 81,059us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
88,974us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | Commercial Real Estate [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 514us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
2,571us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | Commercial Real Estate [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 5,740us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
6,353us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | Commercial Real Estate [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | Commercial Real Estate [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member] | Commercial & Industrial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 55,659us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
51,386us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Acquired Loans [Member] | Commercial & Industrial [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 53,666us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
36,311us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | Commercial & Industrial [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,870us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
13,642us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | Commercial & Industrial [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 123us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
1,375us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | Commercial & Industrial [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
58us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | Commercial & Industrial [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member] | HELOC [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 6,700us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
8,274us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Acquired Loans [Member] | HELOC [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 6,700us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
8,274us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | HELOC [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | HELOC [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | HELOC [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | HELOC [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Acquired Loans [Member] | Consumer [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,794us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
5,670us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Acquired Loans [Member] | Consumer [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,794us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
5,670us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Acquired Loans [Member] | Consumer [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Acquired Loans [Member] | Consumer [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Acquired Loans [Member] | Consumer [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Acquired Loans [Member] | Consumer [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Credit Impaired Acquired Loans [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 69,523us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
79,340us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
Credit Impaired Acquired Loans [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 58,019us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
61,332us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Credit Impaired Acquired Loans [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,773us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
2,143us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Credit Impaired Acquired Loans [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 9,731us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
15,865us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Credit Impaired Acquired Loans [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Credit Impaired Acquired Loans [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Credit Impaired Acquired Loans [Member] | Single-Family Residential [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 322us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
325us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Credit Impaired Acquired Loans [Member] | Single-Family Residential [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 322us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
325us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Credit Impaired Acquired Loans [Member] | Single-Family Residential [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Credit Impaired Acquired Loans [Member] | Single-Family Residential [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Credit Impaired Acquired Loans [Member] | Single-Family Residential [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Credit Impaired Acquired Loans [Member] | Single-Family Residential [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Credit Impaired Acquired Loans [Member] | Construction - Speculative [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Credit Impaired Acquired Loans [Member] | Construction, Speculative and Land, Acquisition and Development [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,395us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
1,622us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
Credit Impaired Acquired Loans [Member] | Construction, Speculative and Land, Acquisition and Development [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,146us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
1,292us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Credit Impaired Acquired Loans [Member] | Construction, Speculative and Land, Acquisition and Development [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Credit Impaired Acquired Loans [Member] | Construction, Speculative and Land, Acquisition and Development [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 249us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
330us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Credit Impaired Acquired Loans [Member] | Construction, Speculative and Land, Acquisition and Development [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Credit Impaired Acquired Loans [Member] | Construction, Speculative and Land, Acquisition and Development [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeAndLandAcquisitionAndDevelopmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Credit Impaired Acquired Loans [Member] | Land - Acquisition & Development [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,395us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
1,622us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Credit Impaired Acquired Loans [Member] | Multi-Family [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Credit Impaired Acquired Loans [Member] | Multi-Family [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Credit Impaired Acquired Loans [Member] | Multi-Family [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Credit Impaired Acquired Loans [Member] | Multi-Family [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Credit Impaired Acquired Loans [Member] | Multi-Family [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Credit Impaired Acquired Loans [Member] | Multi-Family [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Credit Impaired Acquired Loans [Member] | HELOC & Other Consumer [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 8,889us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
10,194us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
Credit Impaired Acquired Loans [Member] | HELOC & Other Consumer [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 8,889us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
10,194us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Credit Impaired Acquired Loans [Member] | HELOC & Other Consumer [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Credit Impaired Acquired Loans [Member] | HELOC & Other Consumer [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Credit Impaired Acquired Loans [Member] | HELOC & Other Consumer [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Credit Impaired Acquired Loans [Member] | HELOC & Other Consumer [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditAndOtherConsumerLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Credit Impaired Acquired Loans [Member] | Commercial Real Estate [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 56,727us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
63,723us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Credit Impaired Acquired Loans [Member] | Commercial Real Estate [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 45,472us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
48,878us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Credit Impaired Acquired Loans [Member] | Commercial Real Estate [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,773us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
2,143us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Credit Impaired Acquired Loans [Member] | Commercial Real Estate [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 9,482us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
12,702us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Credit Impaired Acquired Loans [Member] | Commercial Real Estate [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Credit Impaired Acquired Loans [Member] | Commercial Real Estate [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Credit Impaired Acquired Loans [Member] | Commercial & Industrial [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,190us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,476us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Credit Impaired Acquired Loans [Member] | Commercial & Industrial [Member] | Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 2,190us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
643us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Credit Impaired Acquired Loans [Member] | Commercial & Industrial [Member] | Special Mention [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Credit Impaired Acquired Loans [Member] | Commercial & Industrial [Member] | Substandard [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
2,833us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Credit Impaired Acquired Loans [Member] | Commercial & Industrial [Member] | Doubtful [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Credit Impaired Acquired Loans [Member] | Commercial & Industrial [Member] | Loss [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
0us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= wfsl_LossMember
Credit Impaired Acquired Loans [Member] | HELOC [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 8,838us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
10,139us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Credit Impaired Acquired Loans [Member] | Consumer [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross $ 51us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
$ 55us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember