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
Dec. 31, 2014
Sep. 30, 2014
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross $ 8,793,428us-gaap_LoansAndLeasesReceivableGrossCarryingAmount $ 8,669,717us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Pass [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 8,527,567us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
8,423,666us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_PassMember
Grade as percentage of total gross loans 97.00%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 34,511us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
37,860us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SpecialMentionMember
Grade as percentage of total gross loans 0.40%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 231,329us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
208,133us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_SubstandardMember
Grade as percentage of total gross loans 2.60%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 21us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
58us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= us-gaap_DoubtfulMember
Grade as percentage of total gross loans 0.00%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
Grade as percentage of total gross 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,619,694us-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 152,450us-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 377,561us-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 86,405us-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 106,988us-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 980,706us-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 749,856us-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 453,418us-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 134,998us-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 131,352us-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,538,202us-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,308,732us-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 17,965us-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 211,505us-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 0us-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,608,208us-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,484,864us-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,357us-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 120,987us-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 152,450us-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 147,979us-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 4,471us-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 377,561us-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 377,561us-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 84,000us-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 78,428us-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,572us-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 104,492us-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 103,890us-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 602us-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 977,752us-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 971,647us-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 6,105us-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 597,436us-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 566,553us-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 1,955us-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 28,928us-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 391,327us-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 333,082us-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,653us-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 44,592us-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 0us-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 118,047us-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 117,799us-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 126,929us-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 126,929us-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 0us-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 180,572us-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 158,844us-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 13,743us-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 7,964us-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 21us-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 11,163us-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 11,163us-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 872us-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 479us-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 393us-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,496us-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,496us-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,954us-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,954us-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 92,133us-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 83,991us-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 742us-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 7,400us-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 58,836us-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 45,643us-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 13,001us-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 171us-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 21us-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 7,749us-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 7,749us-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 4,369us-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 4,369us-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 74,654us-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 59,991us-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 2,803us-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 11,860us-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 323us-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 323us-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 and Land, Acquisition and Development [Member]    
Financing Receivable, Recorded Investment [Line Items]    
Loans receivable, gross 1,533us-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,244us-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 289us-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,533us-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 9,256us-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 9,256us-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 60,287us-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 48,716us-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 0us-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 11,571us-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 3,255us-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 452us-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 2,803us-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 9,202us-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 $ 54us-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