Note 13 - Stock-based Compensation Plan (Details Textual) - USD ($) $ / shares in Units, $ in Thousands | | | | | | | | | | | 1 Months Ended | 3 Months Ended | 12 Months Ended | |
Aug. 24, 2023 | May 08, 2023 | Mar. 08, 2023 | Dec. 31, 2022 | Mar. 09, 2022 | Mar. 08, 2022 | Oct. 01, 2021 | Jun. 14, 2021 | Mar. 10, 2021 | Aug. 24, 2020 | Aug. 31, 2020 | Dec. 31, 2023 | Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021 | Jun. 21, 2023 |
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) | | | | | | | | | | | | | 2 years | | | |
Share-Based Payment Arrangement, Amount Capitalized | | | | | | | | | | | | | $ 0 | $ 0 | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) | | | | | | | | | | | | | $ 9.43 | $ 4.53 | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value | | | | | | | | | | | | | $ 3,132 | $ 643 | | |
Share-Based Payment Arrangement, Option [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | | | 10 years | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | | | | | | | | 4 years | | |
Restricted Stock [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | | | | | | | | 97,461 | 123,533 | | |
Restricted Stock [Member] | Employees [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | | | | | | | | 4 years | | |
Restricted Stock [Member] | Independent Directors [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | | | | | | | | 1 year | | |
Restricted Stock [Member] | Independent Directors [Member] | Share-Based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | | | | | | | | | | | | | | 25% | | |
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | 18,888 | | 20,493 | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value | | | $ 303 | | $ 200 | | | | | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares) | 40,557 | | | | | | | | | | | | | | | |
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Minimum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range | | | | | 0% | 0% | | | | | | | | | | |
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Maximum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range | | | | | 150% | 150% | | | | | | | | | | |
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Share-Based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | | | | | | | | | | | | 100% | 100% | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Probable Final Vesting Percentage | | | | | | | | | | | | 50% | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Catch-Up Adjustment | | | | | | | | | | | | | $ 60 | | | |
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Vesting Based On Performance Metrics [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | 50% | | 100% | | | | | | | | | | | | | |
Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | | 5,000 | | 18,000 | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value | | | | | | | $ 59 | | $ 191 | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Forfeit, Outstanding, Number (in shares) | | | | 6,000 | | | | | | | | | | 6,000 | | |
Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Share-Based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | | | | | | | | | | | | | | 100% | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number (in shares) | | | | 12,000 | | | | | | | | 6,000 | 6,000 | 12,000 | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Probable Final Vesting Percentage | | | | | | | | | | | | 0% | 88% | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Catch-Up Adjustment | | | | | | | | | | | | | $ 14 | | | |
Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Share-Based Payment Arrangement, Tranche One [Member] | Minimum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range | | | | | | | | | 0% | | | | | | | |
Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Share-Based Payment Arrangement, Tranche One [Member] | Maximum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range | | | | | | | | | 150% | | | | | | | |
Performance-Based Restricted Stock [Member] | President of Environmental Technologies [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | 5,081 | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value | | $ 108 | | | | | | | | | | | | | | |
Performance-Based Restricted Stock [Member] | President of Environmental Technologies [Member] | Minimum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range | | 0% | | | | | | | | | | | | | | |
Performance-Based Restricted Stock [Member] | President of Environmental Technologies [Member] | Maximum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range | | 150% | | | | | | | | | | | | | | |
Performance-Based Restricted Stock [Member] | President of Environmental Technologies [Member] | Share-Based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | | | | | | | | | | | | | 100% | | | |
The 2023 Stock Incentive Plan [Member] | | | | | | | | | | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) | | | | | | | | | | | | | | | | 350,000 |
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) | | | | | | | | | | | | | | | | 1,117,942 |
Stock Plan 2014 [Member] | | | | | | | | | | | | | | | | |
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount | | | | | | | | | | | | $ 2,957 | $ 2,957 | | | |
Restricted Stock Vesting in Three Years [Member] | Restricted Stock [Member] | Vesting Based On Performance Metrics [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | | | | | | | | | | | 100% | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range | | | | | | | | | | | 0% | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range | | | | | | | | | | | 150% | | | | | |
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | Vesting Based On Performance Metrics [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range | 150% | | | | | | | | | | | | | | | |
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | President [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | | | | | 75,162 | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value | | | | | | | | | | $ 345 | | | | | | |
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | President [Member] | Share-Based Payment Arrangement, Tranche One [Member] | Minimum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range | | | | | | | | | | 0% | | | | | | |
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | President [Member] | Share-Based Payment Arrangement, Tranche One [Member] | Maximum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range | | | | | | | | | | 150% | | | | | | |
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | Chief Financial Officer [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | | | 5,953 | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value | | | | | | | | $ 100 | | | | | | | | |
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Share-Based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range | | | | 150% | | | | | | | | | | | | |
Restricted Stock Vesting on August 24, 2023 [Member] | Performance-Based Restricted Stock [Member] | Chief Financial Officer [Member] | | | | | | | | | | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Probable Final Vesting Percentage | | | | | | | | 0% | | | | | | | | |
Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] | Performance-Based Restricted Stock [Member] | | | | | | | | | | | | | | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Catch-Up Adjustment | | | | | | | | | | | | | $ 20 | | | |
Share-Based Compensation Arrangement by Share-Based Payment Award, Additional Award Vesting Rights, Percentage | 50% | | | | | | | | | | | | | | | |
Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] | Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Vesting Based On Performance Metrics [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage | | | | | | | | | | | | | | | 100% | |
Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] | Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Vesting Based On Performance Metrics [Member] | Minimum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range | | | | | | | 0% | | | | | | | | | |
Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] | Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Vesting Based On Performance Metrics [Member] | Maximum [Member] | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range | | | | | | | 150% | | | | | | | | | |