XML 64 R54.htm IDEA: XBRL DOCUMENT v3.23.3
STOCK PLANS, Stock Options (Details) - Stock Options [Member] - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2023
Sep. 30, 2022
Stock options, number of shares [Roll Forward]      
Balance, beginning of period (in shares) 663,678 684,837  
Granted (in shares) 0 0  
Expired (in shares) 0 0  
Cancelled / Forfeited (in shares) 0 0  
Exercised (in shares) (51,485) (72,644)  
Balance, end of period (in shares) 612,193 612,193  
Exercisable (vested) at end of period (in shares) 526,829 526,829  
Stock options, weighted average exercise price [Roll Forward]      
Balance, beginning of period (in dollars per share) $ 8.56 $ 8.41  
Granted (in dollars per share) 0 0  
Expired (in dollars per share) 0 0  
Cancelled / Forfeited (in dollars per share) 0 0  
Exercised (in dollars per share) 5.44 4.97  
Balance, end of period (in dollars per share) 8.82 8.82  
Exercisable (vested) at end of period (in dollars per share) $ 8.67 $ 8.67  
Stock options, additional disclosures [Abstract]      
Outstanding, aggregate intrinsic value $ 523,161 $ 523,161  
Exercisable (vested), aggregate intrinsic value $ 523,161 $ 523,161  
Outstanding, weighted average remaining contractual term 4 years 11 months 12 days 4 years 11 months 12 days  
Exercisable (vested), weighted average remaining contractual term 4 years 6 months 29 days 4 years 6 months 29 days  
Intrinsic value of options exercised   $ 305,000 $ 125,000
Fair value of awards vested   123,000 $ 142,000
Unrecognized compensation related to non-vested stock options $ 87,000 $ 87,000  
Unrecognized compensation cost, period for recognition   1 year 10 months 24 days  
Recognized compensation cost $ 22,000 $ 71,000