Note 10 - Capital Stock (Details Textual) | | 1 Months Ended | 9 Months Ended | 12 Months Ended | 42 Months Ended | | | |
Dec. 21, 2015 $ / shares shares | Jul. 31, 2021 USD ($) $ / shares shares | Sep. 16, 2021 USD ($) $ / shares shares | Dec. 31, 2022 USD ($) $ / shares shares | Dec. 31, 2021 USD ($) $ / shares shares | Sep. 16, 2021 USD ($) $ / shares shares | Mar. 26, 2018 shares | Sep. 29, 2015 $ / shares shares | Sep. 29, 2005 shares |
Common and Preferred Stock, Shares Authorized (in shares) | | | | 110,000,000 | | | | | |
Common Stock, Shares Authorized (in shares) | | | | 100,000,000 | | | | | |
Preferred Stock, Shares Authorized (in shares) | | | | 10,000,000 | 10,000,000 | | | | |
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | | | | $ 0.001 | | | | | |
Preferred Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | | | | $ 0.001 | $ 0.001 | | | | |
Preferred Stock, Shares Issued (in shares) | | | | 0 | 0 | | | | |
Payments for Repurchase of Common Stock | $ | | | | $ 1,052,666 | $ 1,763,413 | | | | |
The 2018 Repurchase Plan [Member] | | | | | | | | | |
Stock Repurchase Program, Number of Shares Authorized to be Repurchased (in shares) | | | | | | | 500,000 | | |
Treasury Stock, Shares, Acquired (in shares) | | | 1,195 | | | 71,598 | | | |
Treasury Stock, Value, Acquired, Cost Method | $ | | | $ 2,298 | | | $ 169,243 | | | |
Treasury Stock Acquired, Average Cost Per Share (in dollars per share) | $ / shares | | | $ 1.92 | | | $ 2.36 | | | |
The 2021 Repurchase Plan [Member] | | | | | | | | | |
Treasury Stock, Shares, Acquired (in shares) | | | | 682,306 | 92,287 | | | | |
Treasury Stock, Value, Acquired, Cost Method | $ | | | | $ 1,100,000 | $ 200,000 | | | | |
Treasury Stock Acquired, Average Cost Per Share (in dollars per share) | $ / shares | | | | $ 1.54 | $ 2.09 | | | | |
Stock Repurchase Program, Authorized Amount | $ | | | $ 2,500,000 | | | $ 2,500,000 | | | |
Tender Offer [Member] | | | | | | | | | |
Treasury Stock, Shares, Acquired (in shares) | | 812,879 | | | | | | | |
Treasury Stock, Value, Acquired, Cost Method | $ | | $ 1,500,000 | | | | | | | |
Treasury Stock Acquired, Average Cost Per Share (in dollars per share) | $ / shares | | $ 1.85 | | | | | | | |
Payments for Repurchase of Common Stock | $ | | $ 1,600,000 | | | | | | | |
Preferred Stock Purchase Right [Member] | | | | | | | | | |
Class of Warrant or Right, Issued Per Outstanding Common Stock Share (in shares) | 1 | | | | | | | | |
Class of Warrant or Right, Number of Securities Called by Each Warrant or Right (in shares) | 0.1 | | | | | | | | |
Class of Warrant or Right, Exercise Price of Warrants or Rights (in dollars per share) | $ / shares | $ 4.76 | | | | | | | | |
Percentage of Common Stock Person or Group Acquires to Make Rights Exercisable | 4.90% | | | | | | | | |
Acquiring Person, Exercisability, Multiple of Purchase Price | 2 | | | | | | | | |
Class of Warrant or Right, Redemption Price (in dollars per share) | $ / shares | $ 0.001 | | | | | | | | |
Class of Warrant or Right, Percentage Minimum Adjustment to Purchase Price | 1% | | | | | | | | |
Common Class A [Member] | | | | | | | | | |
Common Stock, Shares Authorized (in shares) | | | | 98,000,000 | 98,000,000 | | | | |
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | | | | $ 0.001 | $ 0.001 | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | 0 | 0 | | | | |
Common Class B [Member] | | | | | | | | | |
Common Stock, Shares Authorized (in shares) | | | | 1,000,000 | 1,000,000 | | | | |
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | | | | $ 0.001 | $ 0.001 | | | | |
Common Stock, Conversion, Maximum Outstanding Percentage | | | | 3% | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | 0 | 0 | | | | |
Common Class B [Member] | Minimum [Member] | | | | | | | | | |
Common Stock, Conversion Price (in dollars per share) | $ / shares | | | | $ 150 | | | | | |
Common Class C [Member] | | | | | | | | | |
Common Stock, Shares Authorized (in shares) | | | | 1,000,000 | 1,000,000 | | | | |
Common Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | | | | $ 0.001 | $ 0.001 | | | | |
Common Stock, Conversion, Maximum Outstanding Percentage | | | | 3% | | | | | |
Common Stock, Dividend Rate | $ | | | | $ 0 | | | | | |
Stock Issued During Period, Shares, New Issues (in shares) | | | | 0 | 0 | | | | |
Common Class C [Member] | Minimum [Member] | | | | | | | | | |
Common Stock, Conversion Price (in dollars per share) | $ / shares | | | | $ 150 | | | | | |
Class A Redeemable Preferred Stock [Member] | | | | | | | | | |
Preferred Stock, Shares Authorized (in shares) | 0 | | | | | | | 1,800,000 | 1,800,000 |
Preferred Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | | | | | | | | $ 0.001 | |
Class B Redeemable Preferred Stock [Member] | | | | | | | | | |
Preferred Stock, Shares Authorized (in shares) | 0 | | | | | | | 2,000,000 | 2,000,000 |
Preferred Stock, Shares Issued (in shares) | | | | | | | | | 0 |
Class A Redeemable Preferred Stock and Class B Redeemable Preferred Stock [Member] | | | | | | | | | |
Preferred Stock, Voting Rights, Number of Votes | | | | | | | | | 0.2 |
Preferred Undesignated [Member] | | | | | | | | | |
Preferred Stock, Shares Authorized (in shares) | 10,000,000 | | | 9,900,000 | 9,900,000 | | | | |
Preferred Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | $ 0.001 | | | | | | | | |
Series A Preferred Stock [Member] | | | | | | | | | |
Preferred Stock, Shares Authorized (in shares) | | | | 100,000 | 100,000 | | | | |
Preferred Stock, Par or Stated Value Per Share (in dollars per share) | $ / shares | $ 0.001 | | | | | | | | |