Schedule of Basis and Diluted Earnings Per Share (Details) - USD ($) |
3 Months Ended | 6 Months Ended | ||||
|---|---|---|---|---|---|---|
Jun. 30, 2023 |
Mar. 31, 2023 |
Jun. 30, 2022 |
Mar. 31, 2022 |
Jun. 30, 2023 |
Jun. 30, 2022 |
|
| Earnings Per Share [Abstract] | ||||||
| Net income (loss), as reported | $ (8,918,825) | $ (5,755,391) | $ (2,686,303) | $ 11,714,595 | $ (14,674,216) | $ 9,028,292 |
| Weighted average shares, basic | 29,088,159 | 32,472,251 | 29,284,175 | 32,509,664 | ||
| Dilutive effect of stock options, warrants and RSUs | 743,948 | |||||
| Shares used to compute diluted earnings per share | 29,088,159 | 32,472,251 | 29,284,175 | 33,253,612 | ||
| Basic earnings (loss) per share | $ (0.31) | $ (0.08) | $ (0.50) | $ 0.28 | ||
| Diluted earnings (loss) per share | $ (0.31) | $ (0.08) | $ (0.50) | $ 0.27 | ||