XML 20 R37.htm IDEA: XBRL DOCUMENT
v2.4.1.9

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

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

X
- Definition Amount before allowance of loans and leases held in portfolio, including but not limited to, commercial and consumer loans. Includes deferred interest and fees, undisbursed portion of loan balance, unamortized costs and premiums and discounts from face amounts. Excludes loans and leases covered under loss sharing agreements. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=28367877&loc=d3e4428-111522 + Details
Name: | us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Grade as Percentage of Total Gross Loans + References No definition available. + Details
Name: | wfsl_GradeAsPercentageOfTotalGrossLoans
Namespace Prefix: | wfsl_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=wfsl_AcquiredLoansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=wfsl_CreditImpairedAcquiredLoansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BusinessAcquisitionAxis=wfsl_NonAcquiredLoansMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

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

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

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

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

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

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

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

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

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

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

X
- Details
Name: | us-gaap_InternalCreditAssessmentAxis=us-gaap_DoubtfulMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_InternalCreditAssessmentAxis=us-gaap_PassMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_InternalCreditAssessmentAxis=us-gaap_SpecialMentionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_InternalCreditAssessmentAxis=us-gaap_SubstandardMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_InternalCreditAssessmentAxis=wfsl_LossMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |