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,772wfsl_LoansReceivableNetofChargeOffsandLoansinProcess $ 8,323,544wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
Current 8,299,296wfsl_LoansAndLeasesReceivableCurrentStatus 8,203,280wfsl_LoansAndLeasesReceivableCurrentStatus
30 days 28,093wfsl_LoansAndLeasesReceivable1To30DaysPastDue 19,762wfsl_LoansAndLeasesReceivable1To30DaysPastDue
60 days 8,990wfsl_LoansAndLeasesReceivable31To60DaysPastDue 27,907wfsl_LoansAndLeasesReceivable31To60DaysPastDue
90 days 86,393wfsl_LoansAndLeasesReceivable61To90DaysPastDue 72,595wfsl_LoansAndLeasesReceivable61To90DaysPastDue
Total 123,476wfsl_LoansAndLeasesReceivablePastDue 120,264wfsl_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,625wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
8,063,364wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
Current 8,052,077wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
7,947,551wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
30 days 24,584wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
19,477wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
60 days 8,463wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
26,449wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
90 days 82,501wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
69,887wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
Total 115,548wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
115,813wfsl_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,917wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
5,557,753wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Current 5,518,834wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
5,467,239wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
30 days 17,503wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
15,926wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
60 days 7,804wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
9,139wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
90 days 61,776wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
65,449wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Total 87,083wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
90,514wfsl_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,367wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
87,035wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Current 95,199wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
87,035wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
30 days 168wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
Total 168wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionSpeculativeMember
0wfsl_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,787wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
192,098wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
Current 191,670wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
191,262wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
30 days 114wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
836wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
60 days 3wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
Total 117wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_ConstructionCustomMember
836wfsl_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,347wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
68,066wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Current 68,008wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
67,911wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
30 days 2,339wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
155wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Total 2,339wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
155wfsl_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,444wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
108,589wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Current 100,639wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
104,571wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
30 days 596wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
1,246wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
60 days 368wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
304wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
90 days 2,841wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
2,468wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Total 3,805wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
4,018wfsl_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,295wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
892,196wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Current 905,532wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
891,372wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
205wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
16wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
90 days 763wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
603wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Total 763wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
824wfsl_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,808wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
529,453wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Current 541,939wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
513,409wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days 2,607wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
67wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
15,118wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days 15,262wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
859wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Total 17,869wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
16,044wfsl_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,588wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
379,226wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Current 387,149wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
377,848wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
30 days 339wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
53wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
1,318wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
90 days 1,100wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
7wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Total 1,439wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
1,378wfsl_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,143wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
116,262wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Current 117,362wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
115,262wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
30 days 162wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
335wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
60 days 58wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
292wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
90 days 561wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
373wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Total 781wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
1,000wfsl_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,929wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
132,686wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Current 125,745wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
131,642wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
30 days 756wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
654wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
60 days 230wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
262wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
90 days 198wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
128wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Total 1,184wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_NonAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
1,044wfsl_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,501wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
180,892wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
Current 176,954wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
178,945wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
30 days 1,445wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
126wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
60 days 97wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
474wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
90 days 2,005wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
1,347wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
Total 3,547wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
1,947wfsl_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,164wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
11,716wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Current 10,907wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
11,693wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
30 days 232wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
90 days 25wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
23wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Total 257wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
23wfsl_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 872wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
905wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Current 872wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
905wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_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,495wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
2,502wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Current 1,686wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
2,132wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
30 days 560wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
370wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
90 days 249wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
Total 809wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandConsumerLotLoansMember
370wfsl_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,954wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
2,999wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Current 2,954wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
2,999wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_MultiFamilyHousingPortfolioSegmentMember
0wfsl_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,066wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
97,715wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Current 91,211wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
96,948wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
104wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days 97wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days 758wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
663wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Total 855wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
767wfsl_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,832wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
51,329wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Current 58,733wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
51,229wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
100wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
90 days 99wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Total 99wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
100wfsl_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,749wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
8,056wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Current 7,290wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
8,056wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
30 days 241wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
90 days 218wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Total 459wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_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,369wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
5,670wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Current 3,301wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
4,983wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
30 days 412wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
22wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
4wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
90 days 656wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
661wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Total 1,068wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_AcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
687wfsl_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,646wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
79,288wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
Current 70,265wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
76,784wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
30 days 2,064wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
159wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
60 days 430wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
984wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
90 days 1,887wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
1,361wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
Total 4,381wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
2,504wfsl_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 323wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
325wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Current 323wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
325wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ResidentialPortfolioSegmentMember
0wfsl_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,533wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
1,581wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Current 1,533wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
1,581wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_LandAcquisitionAndDevelopmentMember
0wfsl_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,280wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
63,713wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Current 56,301wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
61,713wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
30 days 2,064wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
152wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
60 days 430wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
909wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
90 days 1,485wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
939wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
Total 3,979wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialRealEstatePortfolioSegmentMember
2,000wfsl_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,255wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,477wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Current 3,255wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
3,470wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
7wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
Total 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_CommercialAndIndustrialLoansMember
7wfsl_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,201wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
10,138wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Current 8,799wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
9,641wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
75wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
90 days 402wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
422wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
Total 402wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= wfsl_HomeEquityLineOfCreditMember
497wfsl_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 54wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
54wfsl_LoansReceivableNetofChargeOffsandLoansinProcess
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Current 54wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
54wfsl_LoansAndLeasesReceivableCurrentStatus
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
30 days 0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable1To30DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
60 days 0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable31To60DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
90 days 0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
0wfsl_LoansAndLeasesReceivable61To90DaysPastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
Total $ 0wfsl_LoansAndLeasesReceivablePastDue
/ us-gaap_BusinessAcquisitionAxis
= wfsl_CreditImpairedAcquiredLoansMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_ConsumerPortfolioSegmentMember
$ 0wfsl_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