XML 29 R31.htm IDEA: XBRL DOCUMENT
v2.4.1.9

Loans Receivable (excluding Covered Loans) - Loans Receivable, Analysis of Age of Loans in Past Due Status (Details) (USD $) In Thousands, unless otherwise specified | Dec. 31, 2014 | Sep. 30, 2014
--- | --- | ---
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | $ 8,422,772 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess | $ 8,323,544 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
Current | 8,299,296 wfsl_LoansAndLeasesReceivableCurrentStatus | 8,203,280 wfsl_LoansAndLeasesReceivableCurrentStatus
30 days | 28,093 wfsl_LoansAndLeasesReceivable1To30DaysPastDue | 19,762 wfsl_LoansAndLeasesReceivable1To30DaysPastDue
60 days | 8,990 wfsl_LoansAndLeasesReceivable31To60DaysPastDue | 27,907 wfsl_LoansAndLeasesReceivable31To60DaysPastDue
90 days | 86,393 wfsl_LoansAndLeasesReceivable61To90DaysPastDue | 72,595 wfsl_LoansAndLeasesReceivable61To90DaysPastDue
Total | 123,476 wfsl_LoansAndLeasesReceivablePastDue | 120,264 wfsl_LoansAndLeasesReceivablePastDue
Ratio of past due loans to total loans, net of charge-offs and LIPs | 1.47%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess | 1.44%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
Non-Acquired Loans [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 8,167,625 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember | 8,063,364 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember
Current | 8,052,077 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember | 7,947,551 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember
30 days | 24,584 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember | 19,477 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember
60 days | 8,463 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember | 26,449 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember
90 days | 82,501 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember | 69,887 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember
Total | 115,548 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember | 115,813 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 1.41%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember | 1.44%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember
Non-Acquired Loans [Member] | Single-Family Residential [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 5,605,917 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 5,557,753 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Current | 5,518,834 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 5,467,239 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
30 days | 17,503 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 15,926 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
60 days | 7,804 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 9,139 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
90 days | 61,776 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 65,449 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Total | 87,083 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 90,514 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 1.55%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 1.63%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Non-Acquired Loans [Member] | Construction - Speculative [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 95,367 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember | 87,035 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember
Current | 95,199 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember | 87,035 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember
30 days | 168 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember
Total | 168 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.18%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionSpeculativeMember
Non-Acquired Loans [Member] | Construction - Custom [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 191,787 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember | 192,098 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember
Current | 191,670 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember | 191,262 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember
30 days | 114 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember | 836 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember
60 days | 3 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember
Total | 117 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember | 836 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.06%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember | 0.44%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_ConstructionCustomMember
Non-Acquired Loans [Member] | Land - Acquisition & Development [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 70,347 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 68,066 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Current | 68,008 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 67,911 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
30 days | 2,339 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 155 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Total | 2,339 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 155 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 3.32%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0.23%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Non-Acquired Loans [Member] | Land - Consumer Lot Loans [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 104,444 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 108,589 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
Current | 100,639 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 104,571 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
30 days | 596 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 1,246 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
60 days | 368 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 304 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
90 days | 2,841 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 2,468 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
Total | 3,805 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 4,018 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 3.64%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 3.70%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
Non-Acquired Loans [Member] | Multi-Family [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 906,295 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 892,196 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
Current | 905,532 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 891,372 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 205 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 16 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
90 days | 763 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 603 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
Total | 763 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 824 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.08%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 0.09%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
Non-Acquired Loans [Member] | Commercial Real Estate [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 559,808 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 529,453 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Current | 541,939 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 513,409 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days | 2,607 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 67 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 15,118 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days | 15,262 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 859 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Total | 17,869 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 16,044 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 3.19%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 3.03%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Non-Acquired Loans [Member] | Commercial & Industrial [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 388,588 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 379,226 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Current | 387,149 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 377,848 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
30 days | 339 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 53 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 1,318 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
90 days | 1,100 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 7 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Total | 1,439 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 1,378 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.37%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 0.36%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Non-Acquired Loans [Member] | HELOC [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 118,143 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 116,262 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Current | 117,362 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 115,262 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
30 days | 162 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 335 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
60 days | 58 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 292 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
90 days | 561 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 373 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Total | 781 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 1,000 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.66%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 0.86%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Non-Acquired Loans [Member] | Consumer [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 126,929 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 132,686 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Current | 125,745 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 131,642 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
30 days | 756 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 654 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
60 days | 230 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 262 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
90 days | 198 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 128 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Total | 1,184 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 1,044 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.93%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 0.79%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_NonAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Acquired Loans [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 180,501 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember | 180,892 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember
Current | 176,954 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember | 178,945 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember
30 days | 1,445 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember | 126 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember
60 days | 97 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember | 474 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember
90 days | 2,005 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember | 1,347 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember
Total | 3,547 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember | 1,947 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 1.97%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember | 1.08%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember
Acquired Loans [Member] | Single-Family Residential [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 11,164 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 11,716 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Current | 10,907 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 11,693 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
30 days | 232 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
90 days | 25 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 23 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Total | 257 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 23 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 2.30%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 0.20%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Acquired Loans [Member] | Land - Acquisition & Development [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 872 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 905 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Current | 872 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 905 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Total | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Acquired Loans [Member] | Land - Consumer Lot Loans [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 2,495 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 2,502 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
Current | 1,686 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 2,132 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
30 days | 560 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 370 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
90 days | 249 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
Total | 809 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 370 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember | 14.79%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandConsumerLotLoansMember
Acquired Loans [Member] | Multi-Family [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 2,954 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 2,999 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
Current | 2,954 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 2,999 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
Total | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_MultiFamilyHousingPortfolioSegmentMember
Acquired Loans [Member] | Commercial Real Estate [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 92,066 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 97,715 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Current | 91,211 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 96,948 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 104 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days | 97 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days | 758 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 663 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Total | 855 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 767 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.93%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 0.78%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Acquired Loans [Member] | Commercial & Industrial [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 58,832 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 51,329 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Current | 58,733 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 51,229 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 100 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
90 days | 99 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Total | 99 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 100 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.17%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 0.19%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Acquired Loans [Member] | HELOC [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 7,749 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 8,056 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Current | 7,290 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 8,056 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
30 days | 241 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
90 days | 218 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Total | 459 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 5.92%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Acquired Loans [Member] | Consumer [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 4,369 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 5,670 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Current | 3,301 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 4,983 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
30 days | 412 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 22 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 4 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
90 days | 656 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 661 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Total | 1,068 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 687 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 24.44%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 12.12%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_AcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Credit Impaired Acquired Loans [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 74,646 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember | 79,288 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember
Current | 70,265 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember | 76,784 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember
30 days | 2,064 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember | 159 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember
60 days | 430 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember | 984 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember
90 days | 1,887 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember | 1,361 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember
Total | 4,381 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember | 2,504 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 5.87%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember | 3.16%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember
Credit Impaired Acquired Loans [Member] | Single-Family Residential [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 323 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 325 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Current | 323 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 325 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Total | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialPortfolioSegmentMember
Credit Impaired Acquired Loans [Member] | Land - Acquisition & Development [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 1,533 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 1,581 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Current | 1,533 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 1,581 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Total | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_LandAcquisitionAndDevelopmentMember
Credit Impaired Acquired Loans [Member] | Commercial Real Estate [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 60,280 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 63,713 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Current | 56,301 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 61,713 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days | 2,064 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 152 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days | 430 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 909 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days | 1,485 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 939 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Total | 3,979 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 2,000 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 6.60%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember | 3.14%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstatePortfolioSegmentMember
Credit Impaired Acquired Loans [Member] | Commercial & Industrial [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 3,255 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 3,477 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Current | 3,255 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 3,470 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 7 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Total | 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 7 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember | 0.20%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_CommercialAndIndustrialLoansMember
Credit Impaired Acquired Loans [Member] | HELOC [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 9,201 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 10,138 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Current | 8,799 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 9,641 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 75 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
90 days | 402 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 422 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Total | 402 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 497 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 4.37%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember | 4.90%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = wfsl_HomeEquityLineOfCreditMember
Credit Impaired Acquired Loans [Member] | Consumer [Member] |  |
Accounts, Notes, Loans and Financing Receivable [Line Items] |  |
Amount of loan, net of charge-offs and LIP | 54 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 54 wfsl_LoansReceivableNetofChargeOffsandLoansinProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Current | 54 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 54 wfsl_LoansAndLeasesReceivableCurrentStatus / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
30 days | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable1To30DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
60 days | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable31To60DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
90 days | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 0 wfsl_LoansAndLeasesReceivable61To90DaysPastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Total | $ 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | $ 0 wfsl_LoansAndLeasesReceivablePastDue / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember
Ratio of past due loans to total loans, net of charge-offs and LIPs | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember | 0.00%wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess / us-gaap_BusinessAcquisitionAxis = wfsl_CreditImpairedAcquiredLoansMember / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ConsumerPortfolioSegmentMember

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

X
- Definition Loans and Leases Receivable, 1 to 30 Days Past Due + References No definition available. + Details
Name: | wfsl_LoansAndLeasesReceivable1To30DaysPastDue
Namespace Prefix: | wfsl_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Loans and Leases Receivable, 31 to 60 Days Past Due + References No definition available. + Details
Name: | wfsl_LoansAndLeasesReceivable31To60DaysPastDue
Namespace Prefix: | wfsl_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Loans and Leases Receivable, 61 to 90 Days Past Due + References No definition available. + Details
Name: | wfsl_LoansAndLeasesReceivable61To90DaysPastDue
Namespace Prefix: | wfsl_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Loans and Leases Receivable, Current Status + References No definition available. + Details
Name: | wfsl_LoansAndLeasesReceivableCurrentStatus
Namespace Prefix: | wfsl_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Loans and Leases Receivable, Past Due + References No definition available. + Details
Name: | wfsl_LoansAndLeasesReceivablePastDue
Namespace Prefix: | wfsl_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Loans and Leases Receivable, Ratio of Total Past Due Loans to Total Loans Receivable, Net of Charge Offs and Loans in Process + References No definition available. + Details
Name: | wfsl_LoansAndLeasesReceivableRatioOfTotalPastDueLoansToTotalLoansReceivableNetOfChargeOffsAndLoansInProcess
Namespace Prefix: | wfsl_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Loans Receivable, Net of Charge Offs and Loans in Process + References No definition available. + Details
Name: | wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
Namespace Prefix: | wfsl_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
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: |