Schedule of Basic and Diluted Earnings Per Share (Details) - USD ($) |
3 Months Ended | |
|---|---|---|
Mar. 31, 2022 |
Mar. 31, 2021 |
|
| Earnings Per Share [Abstract] | ||
| Net income, as reported | $ 11,714,595 | $ 7,898,975 |
| Weighted average shares, basic | 33,935,570 | 28,662,885 |
| Dilutive effect of stock options, warrants and RSUs | 775,906 | 1,339,844 |
| Shares used to compute diluted earnings per share | 34,711,476 | 30,002,729 |
| Basic earnings per share | $ 0.35 | $ 0.28 |
| Diluted earnings per share | $ 0.34 | $ 0.26 |