Note 13 - Stockholders' Equity (Details Textual) | May 14, 2019USD ($)$ / sharesshares | Feb. 26, 2019$ / sharesshares | Jan. 22, 2019USD ($)$ / sharesshares | Dec. 31, 2020USD ($)$ / sharesshares | Aug. 31, 2020USD ($)shares | May 31, 2020USD ($)shares | Mar. 31, 2020USD ($)shares | Sep. 30, 2019USD ($)shares | Aug. 31, 2019USD ($)shares | Jul. 31, 2019USD ($)$ / sharesshares | May 31, 2019$ / sharesshares | Mar. 31, 2019$ / sharesshares | Feb. 28, 2019$ / sharesshares | Jan. 31, 2019USD ($)$ / sharesshares | Dec. 31, 2020USD ($)$ / sharesshares | Dec. 31, 2019USD ($)$ / sharesshares | Dec. 31, 2017shares |
Common Stock, Shares Authorized (in shares) | | | | 100,000,000 | | | | | | | | | | | 100,000,000 | 100,000,000 | |
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | | | | $ 0.001 | | | | | | | | | | | $ 0.001 | $ 0.001 | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ / shares | | | | 1.90 | | | | | | | | | | | $ 1.90 | | |
Stock Issued During Period, Value, Issued for Services | $ | | | | | | | | | | | | | | | $ 64,000 | $ 4,927,000 | |
Proceeds from Issuance of Common Stock | $ | | | | | | | | | | | | | | | $ 3,676,000 | $ 29,380,000 | |
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures, Total (in shares) | | | | | | | | | | | | | | | 691,820 | 533,655 | |
Class of Warrant or Right, Weighted Average Exercise Price of Warrants or Rights (in dollars per share) | $ / shares | | | | $ 1.90 | | | | | | | | | | | $ 1.90 | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | | | | 0 | 2,197,074 | |
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | $ | | | | $ 3,300,000 | | | | | | | | | | | $ 3,300,000 | | |
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) | | | | | | | | | | | | | | | 2 years 4 months 24 days | | |
Share-based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | 150,000 | | | | | | | |
Share-based Payment Arrangement, Tranche Two [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | 50,000 | | | | | | | |
Share-based Payment Arrangement, Option [Member] | Share-based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | 5 years | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | $ 1.65 | | | | | | | |
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, Tranche Two [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | 5 years | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | $ 1.87 | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | | | | 3 years | | | | | | | |
Restricted Stock Units (RSUs) [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | 3 years | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments | | | | 6 | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | 1,714,252 | 367,500 | | | | | | | | | 263,660 | 8,056,280 | 1,271,222 | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $ | | | | $ 1,971,000 | $ 380,000 | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding | $ | | | | 14,400,000 | | | | | | | | | | | $ 14,400,000 | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested | $ | | | | | | | | | | | | | | | 2,100,000 | | |
Restricted Stock [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding | $ | | | | $ 2,500,000 | | | | | | | | | | | $ 2,500,000 | | |
Officers and Directors Purchase Plan [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | | | | | | | | | | | 5,453 | | |
Proceeds from Issuance of Common Stock | $ | | | | | | | | | | | | | | | $ 5,750 | | |
The 2014 Stock Incentive Plan [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares) | | | | | | | | | | | | | | | | | 2,113,637 |
The 2014 Stock Incentive Plan [Member] | Maximum [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | | | | | | 10 years |
The 2019 Stock Incentive Plan [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares) | | | | 11,500,000 | | | | | | | | | | | 11,500,000 | | |
The 2019 Stock Incentive Plan [Member] | Restricted Stock Units (RSUs) [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | 3 years | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments | | | | | | 6 | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $ | | | | | | $ 670,000 | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Issued in Period (in shares) | | | | | | 1,970,475 | | | | | | | | | | | |
The 2019 Stock Incentive Plan [Member] | Maximum [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | | | | 10 years | | |
Board Members [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures, Total (in shares) | | | | | | | | | | | | | | | 356,492 | 202,905 | |
Board Members [Member] | Restricted Stock Units (RSUs) [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | | | | | 60,560 | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $ | | | | | | | | | | $ 97,500 | | | | | | | |
Prior Company Executive [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | | | | | | | | | | | 347,892 | 161,362 | |
Employee [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | | | | | | | | | | | 1,776,680 | | |
Employee [Member] | Restricted Stock Units (RSUs) [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | 3 years | | | 12 months | | | | | 3 years | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments | | | | | | 3 | | | 3 | | | 3 | | 6 | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | 17,500 | | | 134,419 | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $ | | | | | | $ 16,000 | | | $ 231,000 | | | | | $ 490,000 | | | |
Employee [Member] | Restricted Stock [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | 3 years | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments | | | | | | | 3 | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | | 830,000 | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $ | | | | | | | $ 280,000 | | | | | | | | | | |
Consultant [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, Issued for Services (in shares) | | | | | | | | | | | | | | | 67,522 | | |
Chief Executive Officer [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | | 1,260,000 | 232,461 | | | |
Chief Executive Officer [Member] | Share-based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | | 420,000 | | | | |
Chief Executive Officer [Member] | Share-based Payment Arrangement, Tranche Two [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | | 420,000 | | | | |
Chief Executive Officer [Member] | Share-based Payment Arrangement, Tranche Three [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | | 420,000 | | | | |
Chief Executive Officer [Member] | Share-based Payment Arrangement, Option [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | | | 5 years | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | | | | $ 1.88 | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | | | | | | | 3 years | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments | | | | | | | | | | | | | 3 | | | | |
Chief Executive Officer [Member] | Share-based Payment Arrangement, Option [Member] | Share-based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | | 5 years | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | | | $ 3.08 | | | | |
Chief Executive Officer [Member] | Share-based Payment Arrangement, Option [Member] | Share-based Payment Arrangement, Tranche Two [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | | 5 years | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | | | $ 3.68 | | | | |
Chief Executive Officer [Member] | Share-based Payment Arrangement, Option [Member] | Share-based Payment Arrangement, Tranche Three [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | | 5 years | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | | $ 4.18 | | | | | |
Chief Executive Officer [Member] | Restricted Stock Units (RSUs) [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | | | 59,414 | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $ | | | | | | | | $ 109,000 | | | | | | | | | |
Chief Financial Officer [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | 250,000 | | 56,698 | | | |
Chief Financial Officer [Member] | Share-based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | 125,000 | | | | | |
Chief Financial Officer [Member] | Share-based Payment Arrangement, Tranche Two [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | 62,500 | | | | | |
Chief Financial Officer [Member] | Share-based Payment Arrangement, Tranche Three [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | | 62,500 | | | | | |
Chief Financial Officer [Member] | Share-based Payment Arrangement, Option [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | | | 5 years | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | | | | $ 1.88 | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | | | | | | 3 years | | | | | |
Chief Financial Officer [Member] | Share-based Payment Arrangement, Option [Member] | Share-based Payment Arrangement, Tranche One [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | 5 years | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | | $ 3.79 | | | | | |
Chief Financial Officer [Member] | Share-based Payment Arrangement, Option [Member] | Share-based Payment Arrangement, Tranche Two [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | 5 years | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | | $ 4.39 | | | | | |
Chief Financial Officer [Member] | Share-based Payment Arrangement, Option [Member] | Share-based Payment Arrangement, Tranche Three [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | | 5 years | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | | $ 4.89 | | | | | |
Director [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares) | | | | | | | | | | | 172,915 | | | | | | |
Director [Member] | Share-based Payment Arrangement, Option [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) | | | | | | | | | | | 5 years | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Price (in dollars per share) | $ / shares | | | | | | | | | | | $ 2.48 | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | | | | | 12 years | | | | | | |
Company Employees [Member] | Restricted Stock Units (RSUs) [Member] | | | | | | | | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) | | | | | | | 3 years | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period, Number of Installments | | | | | | | 6 | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) | | | | | | | 1,293,164 | | | | | | | | | | |
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Fair Value | $ | | | | | | | $ 440,000 | | | | | | | | | | |
January 2019 Public Offering [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | 5,175,000 | | | | | | | | | | | | | | |
Shares Issued, Price Per Share (in dollars per share) | $ / shares | | | $ 1.90 | | | | | | | | | | | | | | |
Proceeds from Issuance of Common Stock | $ | | | $ 9,800,000 | | | | | | | | | | | | | | |
Proceeds from Issuance of Common Stock, Net | $ | | | $ 9,100,000 | | | | | | | | | | | | | | |
May 2019 Public Offering [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | 11,000,000 | | | | | | | | | | | | | | | | |
Shares Issued, Price Per Share (in dollars per share) | $ / shares | $ 2 | | | | | | | | | | | | | | | | |
Proceeds from Issuance of Common Stock | $ | $ 22,000,000 | | | | | | | | | | | | | | | | |
Proceeds from Issuance of Common Stock, Net | $ | $ 20,300,000 | | | | | | | | | | | | | | | | |
ATM [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | | | | | | | | | | | 3,217,426 | | |
Proceeds from Issuance of Common Stock | $ | | | | | | | | | | | | | | | $ 3,700,000 | | |
Veolia Warrants 1 [Member] | | | | | | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | 2,000,000 | | 2,000,000 | | | | | | | | | | | 2,000,000 | | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ / shares | | $ 5 | | $ 5 | | | | | | | | | | | $ 5 | | |
Warrants and Rights Outstanding, Term (Year) | | | | 10 years | | | | | | | | | | | 10 years | | |
Veolia Warrants 2 [Member] | | | | | | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | 2,000,000 | | 2,000,000 | | | | | | | | | | | 2,000,000 | | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ / shares | | $ 7 | | $ 7 | | | | | | | | | | | $ 7 | | |
Warrants and Rights Outstanding, Term (Year) | | | | 10 years | | | | | | | | | | | 10 years | | |
Veolia Warrants [Member] | | | | | | | | | | | | | | | | | |
Warrants and Rights Outstanding, Term (Year) | | 10 years | | | | | | | | | | | | | | | |
January 2019 Underwriter Warrants [Member] | | | | | | | | | | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights (in shares) | | | | 103,500 | | | | | | | | | | 103,500 | 103,500 | | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ / shares | | | | $ 1.90 | | | | | | | | | | $ 1.90 | $ 1.90 | | |
Warrants and Rights Outstanding, Term (Year) | | | | 5 years | | | | | | | | | | | 5 years | | |
Class of Warrant or Right, Number of Securities Called by Warrants or Rights, Percent | | | 2.00% | | | | | | | | | | | | | | |
Veolia [Member] | | | | | | | | | | | | | | | | | |
Total Consideration for Service Agreement, Equity Shares (in shares) | | 2,350,000 | | | | | | | | | | | | | | | |
Total Consideration for Service Agreement, Number of Installments | | 8 | | | | | | | | | | | | | | | |
Stock Issued for Services, Quarterly Installments, Shares (in shares) | | 293,750 | | | | | | | | | | | | | | | |
Stock Issued During Period, Shares, Issued for Services (in shares) | | | | | | | | | | | | | | | | 1,184,985 | |
Stock Issued During Period, Value, Issued for Services | $ | | | | | | | | | | | | | | | | $ 3,600,000 | |
Clarios [Member] | | | | | | | | | | | | | | | | | |
Stock Issued During Period, Value, Issued for Services | $ | | | | | | | | | | | | | | | | $ 1,300,000 | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | | | | | | | | | | | | | 807,436 | |