v3.25.2
Note 9 - Net Income Per Share - Schedule of Computation of Basic and Diluted Net Income per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2025
Jun. 30, 2024
Net income $ 13,779 $ 11,011 $ 11,826 $ 9,887 $ 24,790 $ 21,713
Basic (in shares) 22,614   22,458   22,592 22,412
Weighted average dilutive common shares outstanding (in shares) 22,892   22,725   22,896 22,657
Basic (in dollars per share) $ 0.61   $ 0.53   $ 1.1 $ 0.97
Diluted (in dollars per share) $ 0.6   $ 0.52   $ 1.08 $ 0.96
Share-Based Payment Arrangement, Option [Member]            
Weighted average dilutive, adjustments (in shares) 210   184   235 173
Restricted Stock Units (RSUs) [Member]            
Weighted average dilutive, adjustments (in shares) 40   57   39 47
Performance Shares [Member]            
Weighted average dilutive, adjustments (in shares) 28   26   30 25