| Schedule of Warrant Activity [Table Text Block] |
| | | Number | | | Average Price Per Share | |
| Shares purchasable under outstanding warrants at January 1, 2020 | | | 6,620,620 | | | $ | 5.41 | |
| Stock purchase warrants issued | | | 2,066,667 | | | $ | 6.00 | |
| Stock purchase warrants exercised | | | (5,155,976 | ) | | $ | 5.08 | |
| Stock purchase warrants expired | | | (324,401 | ) | | $ | 5.00 | |
| Shares purchasable under outstanding warrants at December 31, 2020 | | | 3,206,910 | | | $ | 6.36 | |
| Stock purchase warrants issued | | | - | | | | - | |
| Stock purchase warrants exercised | | | (1,815,012 | ) | | $ | 6.64 | |
| Stock purchase warrants expired | | | (231 | ) | | $ | 7.58 | |
| Shares purchasable under outstanding warrants at December 31, 2021 | | | 1,391,667 | | | $ | 6.00 | |
|