XML 71 R83.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans - Impaired Loans (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment $ 10,492us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment $ 8,565us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
Impaired Loan, No Related Allowance, Unpaid Principal Balance 10,549us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance 8,989us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
Impaired Loan, Related Allowance, Recorded Investment 806us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment 186us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
Impaired Loan, Related Allowance, Unpaid Principal Balance 806us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance 186us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
Related Allowance 75us-gaap_ImpairedFinancingReceivableRelatedAllowance 11us-gaap_ImpairedFinancingReceivableRelatedAllowance
Recorded Investment 11,298us-gaap_ImpairedFinancingReceivableRecordedInvestment 8,751us-gaap_ImpairedFinancingReceivableRecordedInvestment
Unpaid Principal Balance 11,355us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance 9,175us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
Impaired Loan, No Related Allowance, Average Recorded Investment 9,956us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment 10,050us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 756us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod 461us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
Impaired Loan, Related Allowance, Average Recorded Investment 577us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment 835us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
Impaired Loan, Related Allowance, Interest Income, Accrual Method 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
Impaired Loan, Average Recorded Investment 10,533us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment 10,885us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
Impaired Loan, Interest Income, Accrual Method 762us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod 461us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
Commercial | Asset Quality Rating - Pass    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment   181us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance   181us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Related Allowance   0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Recorded Investment   181us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Unpaid Principal Balance   181us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Average Recorded Investment 97us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
138us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 2us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
13us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Average Recorded Investment 97us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
138us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Interest Income, Accrual Method 2us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
13us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Commercial | Asset Quality Rating - Special Mention    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 170us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
314us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 170us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
314us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Recorded Investment 170us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
314us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Unpaid Principal Balance 170us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
314us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Average Recorded Investment 254us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
366us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 23us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
36us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Related Allowance, Average Recorded Investment 46us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Related Allowance, Interest Income, Accrual Method 6us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Average Recorded Investment 300us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
366us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Interest Income, Accrual Method 29us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
36us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Commercial | Asset Quality Rating - Substandard    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 3,000us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
343us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 3,045us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
488us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Recorded Investment 806us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
 
Impaired Loan, Related Allowance, Unpaid Principal Balance 806us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
 
Related Allowance 75us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Recorded Investment 3,806us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
343us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Unpaid Principal Balance 3,851us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
488us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Average Recorded Investment 1,912us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
710us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 94us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
28us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Average Recorded Investment 356us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
109us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Average Recorded Investment 2,268us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
819us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Interest Income, Accrual Method 94us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
28us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Commercial | Asset Quality Rating - Doubtful    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, Related Allowance, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
64us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
Impaired Loan, Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
Impaired Loan, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
64us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
Commercial | Asset Quality Rating - Loss    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, Related Allowance, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
46us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
Impaired Loan, Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
Impaired Loan, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
46us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= us-gaap_CommercialPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
Real Estate Construction One-To- Four Family | Asset Quality Rating - Pass    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
118us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
118us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Real Estate Construction One-To- Four Family | Asset Quality Rating - Special Mention    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment   353us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance   353us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Related Allowance   0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Recorded Investment   353us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Unpaid Principal Balance   353us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Average Recorded Investment 175us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
411us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 11us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
6us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Average Recorded Investment 175us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
411us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Interest Income, Accrual Method 11us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
6us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Real Estate Construction One-To- Four Family | Asset Quality Rating - Substandard    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 191us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
 
Impaired Loan, No Related Allowance, Unpaid Principal Balance 191us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
 
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
 
Recorded Investment 191us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
 
Unpaid Principal Balance 191us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
 
Impaired Loan, No Related Allowance, Average Recorded Investment 117us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
382us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Average Recorded Investment 117us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
382us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOneToFourFamilyPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Real Estate Construction Other | Asset Quality Rating - Pass    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 772us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
1,686us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 772us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
1,686us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Recorded Investment 772us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
1,686us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Unpaid Principal Balance 772us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
1,686us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Average Recorded Investment 196us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
2,238us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 30us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Average Recorded Investment 196us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
2,238us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Interest Income, Accrual Method 30us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Real Estate Construction Other | Asset Quality Rating - Special Mention    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment   834us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance   834us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Related Allowance   0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Recorded Investment   834us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Unpaid Principal Balance   834us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Average Recorded Investment 605us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
413us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 101us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
58us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Average Recorded Investment 605us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
413us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Interest Income, Accrual Method 101us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
58us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateConstructionOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Real Estate Term Owner Occupied | Asset Quality Rating - Pass    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 501us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
512us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 501us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
512us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Recorded Investment 501us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
512us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Unpaid Principal Balance 501us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
512us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Average Recorded Investment 507us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
389us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 50us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
35us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Average Recorded Investment 507us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
389us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Interest Income, Accrual Method 50us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
35us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Real Estate Term Owner Occupied | Asset Quality Rating - Special Mention    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 273us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
484us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 273us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
484us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Recorded Investment 273us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
484us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Unpaid Principal Balance 273us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
484us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Average Recorded Investment 299us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
859us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 20us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
66us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Average Recorded Investment 299us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
859us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Interest Income, Accrual Method 20us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
66us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Real Estate Term Owner Occupied | Asset Quality Rating - Substandard    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 558us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
672us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 558us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
672us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Recorded Investment 558us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
672us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Unpaid Principal Balance 558us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
672us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Average Recorded Investment 1,018us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
337us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 60us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
18us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Average Recorded Investment 1,018us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
337us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Interest Income, Accrual Method 60us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
18us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Real Estate Term Owner Occupied | Asset Quality Rating - Loss    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
100us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
5us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
Impaired Loan, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
100us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
5us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_UnlikelyToBeCollectedFinancingReceivableMember
Real Estate Term Non-Owner Occupied | Asset Quality Rating - Pass    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 549us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
 
Impaired Loan, No Related Allowance, Unpaid Principal Balance 549us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
 
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
 
Recorded Investment 549us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
 
Unpaid Principal Balance 549us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
 
Impaired Loan, No Related Allowance, Average Recorded Investment 595us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
90us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 94us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
6us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Average Recorded Investment 595us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
90us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Interest Income, Accrual Method 94us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
6us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Real Estate Term Non-Owner Occupied | Asset Quality Rating - Special Mention    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 2,088us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
786us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 2,088us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
786us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Recorded Investment 2,088us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
786us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Unpaid Principal Balance 2,088us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
786us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Average Recorded Investment 2,360us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
842us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 253us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
83us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Average Recorded Investment 2,360us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
842us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Interest Income, Accrual Method 253us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
83us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Real Estate Term Non-Owner Occupied | Asset Quality Rating - Substandard    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 1,709us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
955us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 1,709us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
955us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Recorded Investment 1,709us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
955us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Unpaid Principal Balance 1,709us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
955us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Average Recorded Investment 1,229us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
1,340us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
78us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Average Recorded Investment 1,229us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
1,340us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
78us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermNonOwnerOccupiedPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Real Estate Term Other | Asset Quality Rating - Substandard    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 150us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
1,292us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 150us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
1,571us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Recorded Investment 150us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
1,292us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Unpaid Principal Balance 150us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
1,571us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Average Recorded Investment 152us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
1,440us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 14us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
20us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Average Recorded Investment 152us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
1,440us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Interest Income, Accrual Method 14us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
20us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_RealEstateTermOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Consumer Secured By 1st Deed Of Trust | Asset Quality Rating - Pass    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 82us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
88us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance 82us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
88us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Recorded Investment 82us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
88us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Unpaid Principal Balance 82us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
88us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Average Recorded Investment 85us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
90us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 4us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
5us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Average Recorded Investment 85us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
90us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Impaired Loan, Interest Income, Accrual Method 4us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
5us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_PassMember
Consumer Secured By 1st Deed Of Trust | Asset Quality Rating - Special Mention    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment 449us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
 
Impaired Loan, No Related Allowance, Unpaid Principal Balance 461us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
 
Related Allowance 0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
 
Recorded Investment 449us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
 
Unpaid Principal Balance 461us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
 
Impaired Loan, No Related Allowance, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
21us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
1us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
21us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
1us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SpecialMentionMember
Consumer Secured By 1st Deed Of Trust | Asset Quality Rating - Substandard    
Financing Receivable, Impaired [Line Items]    
Related Allowance   11us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Recorded Investment   186us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Unpaid Principal Balance   186us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Average Recorded Investment 326us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Average Recorded Investment 175us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
194us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Average Recorded Investment 501us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
194us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Consumer Secured By 1st Deed Of Trust | Asset Quality Rating - Doubtful    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, Related Allowance, Recorded Investment   186us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
Impaired Loan, Related Allowance, Unpaid Principal Balance   186us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
Related Allowance   11us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerSecuredByFirstDeedOfTrustPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
Consumer Other | Asset Quality Rating - Substandard    
Financing Receivable, Impaired [Line Items]    
Related Allowance   0us-gaap_ImpairedFinancingReceivableRelatedAllowance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Recorded Investment   65us-gaap_ImpairedFinancingReceivableRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Unpaid Principal Balance   65us-gaap_ImpairedFinancingReceivableUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Average Recorded Investment 29us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
148us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, No Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
3us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Average Recorded Investment 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
40us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Related Allowance, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
0us-gaap_ImpairedFinancingReceivableWithRelatedAllowanceInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Average Recorded Investment 29us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
188us-gaap_ImpairedFinancingReceivableAverageRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Impaired Loan, Interest Income, Accrual Method 0us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
3us-gaap_ImpairedFinancingReceivableInterestIncomeAccrualMethod
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_SubstandardMember
Consumer Other | Asset Quality Rating - Doubtful    
Financing Receivable, Impaired [Line Items]    
Impaired Loan, No Related Allowance, Recorded Investment   65us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceRecordedInvestment
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember
Impaired Loan, No Related Allowance, Unpaid Principal Balance   $ 65us-gaap_ImpairedFinancingReceivableWithNoRelatedAllowanceUnpaidPrincipalBalance
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= nrim_ConsumerOtherPortfolioSegmentMember
/ nrim_LoanPortfolioRiskClassSegmentAxis
= us-gaap_DoubtfulMember