XML 37 R67.htm IDEA: XBRL DOCUMENT v2.4.1.9
Supplemental Compensation Plans (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Participant
Dec. 31, 2013
Dec. 31, 2012
Salary Continuation Plan [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Duration for benefit payment after retirement age 10 years    
Retirement age 65 years    
Reduced benefit age 55 years    
Years of services for reduced benefit 10 years    
Number of participants in SERP plan 3fnrn_NumberOfEmployeesParticipatingInSerpPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Average years of salary used for benefit calculation 3 years    
Average years of bonus used for benefit calculation 7 years    
Percentage of average compensation for executive (in hundredths) 2.00%fnrn_PercentageOfAverageCompensationCreditForExecutive
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Percentage of average compensation for CEO (in hundredths) 2.50%fnrn_PercentageOfAverageCompensationCreditForCeo
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Target service years for executive 25 years    
Target service years for CEO 20 years    
Target benefit of average compensation (in hundredths) 50.00%fnrn_TargetBenefitOfAverageCompensation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Reduction made for social security benefit (in hundredths) 50.00%fnrn_ReductionMadeForSocialSecurityBenefit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Expected age of social security benefit 65 years    
Number of years average yields of treasury securities 3 years    
Treasury securities duration 10 years    
Period of monthly retirement benefit payment 120 months    
Additional months for retirement payment for full year of service 6 months    
Number of full service years used to calculate additional retirement payment 10 years    
Maximum period for monthly retirement payment 180 months    
Reduction in benefit for retirement prior to retirement age (in hundredths) 5.00%fnrn_ReductionInBenefitForRetirementPriorToRetirementAge
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Benefit reduction for retirement at age 55 (in hundredths) 50.00%fnrn_SerpBenefitReductionForAge55Retirement
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Early retirement age 55 years    
Benefit payable for voluntary terminations prior to age 55 (in hundredths) 0.00%fnrn_BenefitPayableForVoluntaryTerminationsPriorToAge55
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Change in benefit obligation [Roll Forward]      
Benefit obligation at beginning of year $ 3,515us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
$ 3,590us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
$ 3,132us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Service cost 150us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
170us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
146us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Interest cost 154us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
117us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
124us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Plan loss (gain) 433us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(186)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
364us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Benefits paid (176)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(176)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(176)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Benefit obligation at end of year 4,076us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
3,515us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
3,590us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Change in plan assets [Abstract]      
Employer Contribution 176us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
176us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
176us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Benefits paid (176)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(176)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(176)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Fair value of plan assets at end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssetsPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssetsPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssetsPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Reconciliation of funded status [Abstract]      
Funded status (4,076)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(3,515)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(3,590)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Unrecognized net plan loss 877us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
459us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
683us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Unrecognized prior service cost 252us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
340us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
429us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetPriorServiceCostCreditAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Net amount recognized (2,947)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(2,716)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(2,478)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Amounts recognized in the consolidated balance sheets consist of [Abstract]      
Accrued benefit liability (4,076)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(3,515)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(3,590)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Accumulated other comprehensive income 1,129us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
799us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
1,112us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Net amount recognized (2,947)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(2,716)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(2,478)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Components of net periodic benefit cost [Abstract]      
Service cost 150us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
170us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
146us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Interest cost 154us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
117us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
124us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Amortization of prior service cost 88us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
88us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
88us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Recognized actuarial (gain)loss 14us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
38us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
0us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Net periodic benefit cost 406us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
413us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
358us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Additional amounts recognized 0us-gaap_DefinedBenefitPlanOtherCosts
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
0us-gaap_DefinedBenefitPlanOtherCosts
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
0us-gaap_DefinedBenefitPlanOtherCosts
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Total benefit cost 406fnrn_TotalBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
413fnrn_TotalBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
358fnrn_TotalBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Additional Information [Abstract]      
Minimum benefit obligation at year end 4,076us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeMinimumPensionLiabilityAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
3,515us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeMinimumPensionLiabilityAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
3,590us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeMinimumPensionLiabilityAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Increase (decrease) in minimum liability included in other comprehensive income (loss) 330us-gaap_DefinedBenefitPlanBenefitObligationPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
(313)us-gaap_DefinedBenefitPlanBenefitObligationPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
276us-gaap_DefinedBenefitPlanBenefitObligationPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Assumptions used to determine benefit obligations [Abstract]      
Discount rate used to determine net periodic benefit cost for years ended (in hundredths) 4.30%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
3.20%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
3.90%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Discount rate used to determine benefit obligations (in hundredths) 3.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
4.30%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
3.20%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Future salary increases (in hundredths) 4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
Expected future benefit payments [Abstract]      
Benefit paid during fiscal year 176us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRemainderOfFiscalYear
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
2015 226us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
2016 281us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
2017 272us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
2018 272us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
2019 272us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
2020-2024 1,543us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
   
Salary Continuation Plan [Member] | Minimum [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Defined annual benefit plan amount 50fnrn_DefinedAnnualBenefitPlanAmount
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
   
Salary Continuation Plan [Member] | Maximum [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Defined annual benefit plan amount 125fnrn_DefinedAnnualBenefitPlanAmount
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_SalaryContinuationPlanMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
   
Directors' Retirement Plan [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Duration for benefit payment after retirement age 10 years    
Retirement age 65 years    
Reduced benefit age 55 years    
Years of services for reduced benefit 10 years    
Change in benefit obligation [Roll Forward]      
Benefit obligation at beginning of year 715us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
743us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
701us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Service cost 16us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
25us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
24us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Interest cost 30us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
24us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
27us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Plan loss (gain) 6us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(62)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(1)us-gaap_DefinedBenefitPlanActuarialGainLoss
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Benefits paid (15)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(15)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(8)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Benefit obligation at end of year 752us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
715us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
743us-gaap_DefinedBenefitPlanBenefitObligation
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Change in plan assets [Abstract]      
Employer Contribution 15us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
15us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
8us-gaap_DefinedBenefitPlanContributionsByEmployer
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Benefits paid (15)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(15)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(8)us-gaap_DefinedBenefitPlanBenefitsPaid
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Fair value of plan assets at end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssetsPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssetsPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssetsPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Reconciliation of funded status [Abstract]      
Funded status (752)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(715)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(743)us-gaap_DefinedBenefitPlanFundedStatusOfPlan
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Unrecognized net plan loss (67)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(75)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(12)us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeNetGainsLossesAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Net amount recognized (819)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(790)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(755)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Amounts recognized in the consolidated balance sheets consist of [Abstract]      
Accrued benefit liability (752)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(715)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(743)us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Accumulated other comprehensive income (67)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(75)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(12)us-gaap_AccumulatedOtherComprehensiveIncomeLossDefinedBenefitPensionAndOtherPostretirementPlansNetOfTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Net amount recognized (819)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(790)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(755)us-gaap_DefinedBenefitPlanAmountsRecognizedInBalanceSheet
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Components of net periodic benefit cost [Abstract]      
Service cost 16us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
25us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
24us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Interest cost 30us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
24us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
27us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Recognized actuarial (gain)loss (2)us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
0us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
0us-gaap_DefinedBenefitPlanAmountsRecognizedInOtherComprehensiveIncomeLossNetGainLossBeforeTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Net periodic benefit cost 44us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
49us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
51us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Additional amounts recognized 0us-gaap_DefinedBenefitPlanOtherCosts
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
0us-gaap_DefinedBenefitPlanOtherCosts
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
0us-gaap_DefinedBenefitPlanOtherCosts
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Total benefit cost 44fnrn_TotalBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
49fnrn_TotalBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
51fnrn_TotalBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Additional Information [Abstract]      
Minimum benefit obligation at year end 752us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeMinimumPensionLiabilityAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
715us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeMinimumPensionLiabilityAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
743us-gaap_DefinedBenefitPlanAccumulatedOtherComprehensiveIncomeMinimumPensionLiabilityAfterTax
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Increase (decrease) in minimum liability included in other comprehensive income (loss) 8us-gaap_DefinedBenefitPlanBenefitObligationPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(63)us-gaap_DefinedBenefitPlanBenefitObligationPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
(1)us-gaap_DefinedBenefitPlanBenefitObligationPeriodIncreaseDecrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Assumptions used to determine benefit obligations [Abstract]      
Discount rate used to determine net periodic benefit cost for years ended (in hundredths) 4.10%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
3.20%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
3.80%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Discount rate used to determine benefit obligations (in hundredths) 4.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
4.10%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
3.20%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
Expected future benefit payments [Abstract]      
Benefit paid during fiscal year 15us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsRemainderOfFiscalYear
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
   
2015 16us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
   
2016 30us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
   
2017 44us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
   
2018 55us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
   
2019 60us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
   
2020-2024 361us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
   
Directors' Retirement Plan [Member] | Minimum [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Directors' retirement benefit per year of service 1fnrn_DirectorBenefitPerYearOfService
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
/ us-gaap_RangeAxis
= us-gaap_MinimumMember
   
Directors' Retirement Plan [Member] | Maximum [Member]      
Defined Benefit Plan Disclosure [Line Items]      
Directors' retirement benefit per year of service 15fnrn_DirectorBenefitPerYearOfService
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorsRetirementPlanMember
/ us-gaap_RangeAxis
= us-gaap_MaximumMember
   
Executive Deferral Plan [Member]      
Expected future benefit payments [Abstract]      
Single-premium payment on insurance purchased 1,125fnrn_SinglePremiumPaymentAggregate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_ExecutiveDeferralPlanMember
   
Cash surrender value of life insurance 2,289us-gaap_CashSurrenderValueOfLifeInsurance
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_ExecutiveDeferralPlanMember
2,225us-gaap_CashSurrenderValueOfLifeInsurance
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_ExecutiveDeferralPlanMember
 
Increase in accrued liabilities 30us-gaap_IncreaseDecreaseInOtherAccruedLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_ExecutiveDeferralPlanMember
35us-gaap_IncreaseDecreaseInOtherAccruedLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_ExecutiveDeferralPlanMember
 
Expenses 30us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_ExecutiveDeferralPlanMember
35us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_ExecutiveDeferralPlanMember
45us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_ExecutiveDeferralPlanMember
Director Deferral Plan [Member]      
Expected future benefit payments [Abstract]      
Cash surrender value of life insurance 124us-gaap_CashSurrenderValueOfLifeInsurance
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorDeferralPlanMember
120us-gaap_CashSurrenderValueOfLifeInsurance
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorDeferralPlanMember
 
Increase in accrued liabilities 1us-gaap_IncreaseDecreaseInOtherAccruedLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorDeferralPlanMember
1us-gaap_IncreaseDecreaseInOtherAccruedLiabilities
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorDeferralPlanMember
 
Expenses $ 1us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorDeferralPlanMember
$ 1us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorDeferralPlanMember
$ 1us-gaap_DeferredCompensationArrangementWithIndividualCompensationExpense
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= fnrn_DirectorDeferralPlanMember