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

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