Note 12 - Share-based Plans (Details Textual) - USD ($) $ / shares in Units, $ in Millions | | | 1 Months Ended | 12 Months Ended | |
May 04, 2022 | May 05, 2021 | May 31, 2012 | Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021 | May 31, 2017 |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period (in shares) | | | | 3,250 | 0 | 0 | |
Share Price (in dollars per share) | | | | $ 20.08 | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value | | | | $ 4.5 | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value | | | | 3.7 | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested in Period, Fair Value | | | | $ 0.3 | $ 0.2 | $ 0.7 | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross (in shares) | | | | 0 | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) | | | | | $ 4.6 | $ 4.27 | |
Share-Based Payment Arrangement, Option [Member] | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period (Year) | | | | 10 years | | | |
Share-Based Payment Arrangement, Expense | | | | $ 0.3 | $ 0.5 | | |
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount | | | | $ 0.2 | | | |
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) | | | | 1 year 4 months 24 days | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate | | | | | 0% | 0% | |
Share-Based Payment Arrangement, Option [Member] | Share-Based Payment Arrangement, Nonemployee [Member] | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year) | | | | 3 years | | | |
Share-Based Payment Arrangement, Option [Member] | Share-Based Payment Arrangement, Employee [Member] | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year) | | | | 4 years | | | |
Restricted Stock [Member] | | | | | | | |
Share-Based Payment Arrangement, Expense | | | | $ 0.9 | $ 0.7 | $ 0.5 | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | 117,680 | 37,720 | | |
Restricted Stock Units (RSUs) [Member] | | | | | | | |
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount | | | | $ 1.9 | | | |
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) | | | | 2 years 3 months 18 days | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | 117,680 | 37,720 | | |
Restricted Stock Units (RSUs) [Member] | Share-Based Payment Arrangement, Nonemployee [Member] | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year) | | | | 3 years | | | |
Restricted Stock Units (RSUs) [Member] | Share-Based Payment Arrangement, Employee [Member] | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year) | | | | 4 years | | | |
The 2017 Equity Incentive Plan [Member] | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) | | | | | | | 568,357 |
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized (in shares) | 500,000 | 400,000 | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) | | | | 629,796 | | | |
The Omnibus Incentive Plan [Member] | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) | | | | | 0 | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Percentage of Outstanding Stock Maximum | | | 5% | | | | |
Amended and Restated 1996 Employee Stock Purchase Plan [Member] | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) | | | | 400,000 | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate | | | | 10% | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Number of Shares Per Employee (in shares) | | | | 100 | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent | | | | 85% | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares) | | | | 341,469 | | | |