XML 46 R33.htm IDEA: XBRL DOCUMENT v3.25.2
Note 2 - Income Per Share - Calculation of 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
Numerators:            
Income from continuing operations $ 9,840   $ 12,044   $ 16,403 $ 15,868
Income from discontinued operations 0   150   0 300
Net income (loss) $ 9,840 $ 6,563 $ 12,194 $ 3,974 $ 16,403 $ 16,168
Denominator:            
Denominator for basic income per share – weighted-average shares (in shares) 26,041   26,292   26,295 26,234
Effect of dilutive securities:            
Diluted weighted average shares outstanding (in shares) 27,228   27,662   27,564 27,604
Basic income per share: (1)            
Income from continuing operations (in dollars per share) $ 0.38   $ 0.46   $ 0.62 $ 0.6
Income from discontinued operations (in dollars per share) 0   0.01   0 0.01
Net income per share (in dollars per share) [1] 0.38   0.46   0.62 0.62
Diluted income per share: (1)            
Income from continuing operations (in dollars per share) 0.36   0.44   0.6 0.57
Income from discontinued operations (in dollars per share) 0   0.01   0 0.01
Net income per share (in dollars per share) [1] $ 0.36   $ 0.44   $ 0.6 $ 0.59
Restricted Stock [Member]            
Effect of dilutive securities:            
Equivalent shares issuable upon conversion of unvested restricted shares (in shares) 111   129   122 142
Share-Based Payment Arrangement, Option [Member]            
Effect of dilutive securities:            
Equivalent shares issuable upon conversion of unvested restricted shares (in shares) 1,076   1,241   1,147 1,228
[1] Total may not sum due to rounding.