| Note 2 - Revenue 1 (Details Textual) - USD ($) $ in Millions | 3 Months Ended | |
|---|---|---|
| Mar. 31, 2023 | Mar. 31, 2022 | |
| Revenue from Contract with Customers, Sales Returns, Percent | 1.00% | 1.00% | 
| Contract with Customer, Liability | $ 3.9 | $ 3.9 | 
| Geographic Concentration Risk [Member] | Revenue Benchmark [Member] | ||
| Number of Major Markets | 0 | 0 | 
| Number of Major Customers | 0 | 0 | 
| Minimum [Member] | ||
| Revenue from Contract with Customer, Sales Returns Policy Term (Day) | 14 days | |
| Revenue from Contract with Customers, Historical Sales Returns, Percent | 1.00% | |
| Maximum [Member] | ||
| Revenue from Contract with Customer, Sales Returns Policy Term (Day) | 1 year | |
| Revenue from Contract with Customers, Historical Sales Returns, Percent | 4.00% | |
| X | ||||||||||
| 
- Definition Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Represents the number of major markets accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Represents the sales returns policy term. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Represents the percentage of historical sales returns. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Represents the percentage of sales returns. No definition available. 
 | 
| X | ||||||||||
| 
- Definition Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable. Reference 1: http://www.xbrl.org/2003/role/disclosureRef 
 | 
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Details 
 | 
| X | ||||||||||
| 
- Details 
 |