XML 32 R40.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Measurements - Recurring and Nonrecurring (Details) (USD $)
3 Months Ended 6 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Mar. 31, 2015
Mar. 31, 2014
Sep. 30, 2014
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value $ 2,756,906,000us-gaap_AvailableForSaleSecurities   $ 2,756,906,000us-gaap_AvailableForSaleSecurities   $ 3,049,442,000us-gaap_AvailableForSaleSecurities
Bank owned life insurance 100,961,000us-gaap_BankOwnedLifeInsurance   100,961,000us-gaap_BankOwnedLifeInsurance   0us-gaap_BankOwnedLifeInsurance
Total financial assets 4,237,383,000us-gaap_InvestmentsFairValueDisclosure   4,237,383,000us-gaap_InvestmentsFairValueDisclosure   4,548,660,000us-gaap_InvestmentsFairValueDisclosure
Fair value disclosure, recurring   0us-gaap_LiabilitiesFairValueDisclosureRecurring   0us-gaap_LiabilitiesFairValueDisclosureRecurring  
Fair value disclosure, nonrecurring 0us-gaap_LiabilitiesFairValueDisclosureNonrecurring 0us-gaap_LiabilitiesFairValueDisclosureNonrecurring 0us-gaap_LiabilitiesFairValueDisclosureNonrecurring 0us-gaap_LiabilitiesFairValueDisclosureNonrecurring  
Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Bank owned life insurance 100,961,000us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
  100,961,000us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
  0us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
FDIC liability 29,825,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
  29,825,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
  28,823,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 2,756,906,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  2,756,906,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Bank owned life insurance 100,961,000us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  100,961,000us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Total financial assets 2,857,867,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  2,857,867,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  3,049,442,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
FDIC liability 29,825,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  29,825,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  28,823,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long term borrowing hedge (9,503,000)us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  (9,503,000)us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  (268,000)us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total financial liabilities 20,322,000us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  20,322,000us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  28,555,000us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 to level 2 transfers, amount 0us-gaap_FairValueAssetsLevel1ToLevel2TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_FairValueAssetsLevel1ToLevel2TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_FairValueAssetsLevel1ToLevel2TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 to level 1 transfers, amount 0us-gaap_FairValueAssetsLevel2ToLevel1TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_FairValueAssetsLevel2ToLevel1TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_FairValueAssetsLevel2ToLevel1TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 1 to level 3 transfers, amount 0wfsl_FairValueAssetsLevel1toLevel3TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FairValueAssetsLevel1toLevel3TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FairValueAssetsLevel1toLevel3TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 to level 1 transfers, amount 0wfsl_FairValueAssetsLevel3toLevel1TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FairValueAssetsLevel3toLevel1TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FairValueAssetsLevel3toLevel1TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 2 to level 3 transfers, amount 0wfsl_FairValueAssetsLevel2toLevel3TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FairValueAssetsLevel2toLevel3TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FairValueAssetsLevel2toLevel3TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Level 3 to level 2 transfers, amount 0wfsl_FairValueAssetsLevel3toLevel2TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FairValueAssetsLevel3toLevel2TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FairValueAssetsLevel3toLevel2TransfersAmount
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 102,277,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  102,277,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Bank owned life insurance 0us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Total financial assets 102,277,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  102,277,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  101,387,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
FDIC liability 0wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long term borrowing hedge 0us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total financial liabilities 0us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 2,654,629,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  2,654,629,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Bank owned life insurance 100,961,000us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  100,961,000us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Total financial assets 2,755,590,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  2,755,590,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  2,948,055,000us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
FDIC liability 29,825,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  29,825,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  28,823,000wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long term borrowing hedge (9,503,000)us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  (9,503,000)us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  (268,000)us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total financial liabilities 20,322,000us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  20,322,000us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  28,555,000us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Bank owned life insurance 0us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_BankOwnedLifeInsurance
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
   
Total financial assets 0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_InvestmentsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
FDIC liability 0wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0wfsl_FDICLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Long term borrowing hedge 0us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_HedgingLiabilitiesNoncurrent
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Total financial liabilities 0us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
  0us-gaap_FinancialLiabilitiesFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
Fair Value, Measurements, Nonrecurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 51,733,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
36,551,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
51,733,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
36,551,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Impaired Loans [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 3,478,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
7,066,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
3,478,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
7,066,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Covered Real Estate Owned [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 1,558,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
2,760,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
1,558,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
2,760,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Real Estate Held for Sale [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 46,697,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
26,725,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
46,697,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
26,725,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 0us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 1 [Member] | Impaired Loans [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 1 [Member] | Covered Real Estate Owned [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 1 [Member] | Real Estate Held for Sale [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 0us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 2 [Member] | Impaired Loans [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 2 [Member] | Covered Real Estate Owned [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 2 [Member] | Real Estate Held for Sale [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
0us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 51,733,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
36,551,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
51,733,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
36,551,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 3 [Member] | Impaired Loans [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 3,478,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
7,066,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
3,478,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
7,066,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 3 [Member] | Covered Real Estate Owned [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 1,558,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
2,760,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
1,558,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
2,760,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Fair Value, Measurements, Nonrecurring [Member] | Level 3 [Member] | Real Estate Held for Sale [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Assets 46,697,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
26,725,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
46,697,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
26,725,000us-gaap_AssetsFairValueDisclosureNonrecurring
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Equity Securities [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 102,277,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  102,277,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  101,387,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
Equity Securities [Member] | Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 102,277,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  102,277,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  101,387,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
Equity Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 102,277,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  102,277,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  101,387,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
Equity Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
Equity Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_EquitySecuritiesMember
US Treasury and Government [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 534,445,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  534,445,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  731,943,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
US Treasury and Government [Member] | Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 534,445,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  534,445,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  731,943,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
US Treasury and Government [Member] | Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
US Treasury and Government [Member] | Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 534,445,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  534,445,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  731,943,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
US Treasury and Government [Member] | Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USTreasuryAndGovernmentMember
Obligations of States and Political Subdivisions [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 24,013,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  24,013,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  23,681,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Obligations of States and Political Subdivisions [Member] | Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 24,013,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  24,013,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  23,681,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Obligations of States and Political Subdivisions [Member] | Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Obligations of States and Political Subdivisions [Member] | Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 24,013,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  24,013,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  23,681,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Obligations of States and Political Subdivisions [Member] | Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_USStatesAndPoliticalSubdivisionsMember
Foreign Government Debt Securities [Member] | Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value   0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Foreign Government Debt Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value   0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Foreign Government Debt Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value   0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Foreign Government Debt Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value   0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_ForeignGovernmentDebtSecuritiesMember
 
Corporate Debt Securities [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 528,564,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  528,564,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  509,007,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
Corporate Debt Securities [Member] | Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 528,564,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  528,564,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  509,007,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
Corporate Debt Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
Corporate Debt Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 528,564,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  528,564,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  509,007,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
Corporate Debt Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CorporateDebtSecuritiesMember
Agency Pass-through Certificates [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 1,456,945,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  1,456,945,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  1,584,508,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
Agency Pass-through Certificates [Member] | Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 1,456,945,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  1,456,945,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  1,584,508,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
Agency Pass-through Certificates [Member] | Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
Agency Pass-through Certificates [Member] | Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 1,456,945,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  1,456,945,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  1,584,508,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
Agency Pass-through Certificates [Member] | Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_MortgageBackedSecuritiesIssuedByUSGovernmentSponsoredEnterprisesMember
Other Commercial Mortgage-Backed Securities [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 110,662,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
  110,662,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
  98,916,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
Other Commercial Mortgage-Backed Securities [Member] | Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 110,662,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
  110,662,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
   
Other Commercial Mortgage-Backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
   
Other Commercial Mortgage-Backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 110,662,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
  110,662,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
   
Other Commercial Mortgage-Backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value 0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
  0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= wfsl_OtherCommercialMortgageBackedSecuritiesMember
   
Commercial Mortgage Backed Securities [Member] | Fair Value, Measurements, Recurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value         98,916,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Commercial Mortgage Backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 1 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value         0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Commercial Mortgage Backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 2 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value         98,916,000us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Commercial Mortgage Backed Securities [Member] | Fair Value, Measurements, Recurring [Member] | Level 3 [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Available-for-sale securities, at fair value         0us-gaap_AvailableForSaleSecurities
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsRecurringMember
/ us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis
= us-gaap_CommercialMortgageBackedSecuritiesMember
Changes Measurement [Member] | Fair Value, Measurements, Nonrecurring [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Loss related to impaired loans and real estate held for sale, measured on nonrecurring basis (2,018,000)wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
2,990,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
(10,189,000)wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
5,975,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Changes Measurement [Member] | Fair Value, Measurements, Nonrecurring [Member] | Impaired Loans [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Loss related to impaired loans and real estate held for sale, measured on nonrecurring basis 515,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
269,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
580,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
(536,000)wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_ImpairedLoansMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Changes Measurement [Member] | Fair Value, Measurements, Nonrecurring [Member] | Covered Real Estate Owned [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Loss related to impaired loans and real estate held for sale, measured on nonrecurring basis 112,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
64,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
188,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
129,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_CoveredRealEstateOwnedMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
 
Changes Measurement [Member] | Fair Value, Measurements, Nonrecurring [Member] | Real Estate Held for Sale [Member]          
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]          
Loss related to impaired loans and real estate held for sale, measured on nonrecurring basis $ (2,645,000)wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
$ 2,657,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
$ (10,957,000)wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
$ 6,382,000wfsl_LossRelatedToImpairedLoansAndRealEstateHeldForSaleMeasuredOnNonrecurringBasis
/ wfsl_AssetsMeasuredOnNonrecurringBasisByTypeAxis
= wfsl_RealEstateHeldForSaleMember
/ us-gaap_FairValueByMeasurementBasisAxis
= us-gaap_ChangeDuringPeriodFairValueDisclosureMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember