Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($) | Convertible Preferred Stock [Member]Preferred Stock [Member] | Common Stock [Member] | Additional Paid-in Capital [Member] | Retained Earnings [Member] | Total |
Beginning balance, value at Dec. 31, 2019 | $ 26 | $ 17,343 | $ 26,687,701 | $ (24,967,814) | $ 1,737,256 |
Beginning balance, shares at Dec. 31, 2019 | 25,600 | 17,342,922 | | | |
Public offering, net of offering costs of $1,457,922 | | $ 7,243 | 18,004,840 | | 18,012,083 |
Public offering, net of offering costs of $1,457,922, shares | | 7,242,954 | | | |
Common stock issued for warrant exercises | | $ 720 | 49,280 | | 50,000 |
Common stock issued for warrant exercises, shares | | 719,492 | | | |
Stock-based compensation expense | | $ 12 | 432,811 | | 432,823 |
Stock-based compensation expense, shares | | 12,363 | | | |
Conversion of preferred stock to common | $ (26) | $ 2,133 | (2,107) | | |
Conversion of preferred stock to common, shares | (25,600) | 2,133,333 | | | |
Net income (loss) | | | | (1,065,193) | (1,065,193) |
Ending balance, value at Mar. 31, 2020 | | $ 27,451 | 45,172,525 | (26,033,007) | 19,166,969 |
Ending balance, shares at Mar. 31, 2020 | | 27,451,064 | | | |
Beginning balance, value at Dec. 31, 2019 | $ 26 | $ 17,343 | 26,687,701 | (24,967,814) | 1,737,256 |
Beginning balance, shares at Dec. 31, 2019 | 25,600 | 17,342,922 | | | |
Net income (loss) | | | | | 29,671,348 |
Ending balance, value at Sep. 30, 2020 | | $ 28,161 | 48,044,352 | 4,703,534 | 52,776,047 |
Ending balance, shares at Sep. 30, 2020 | | 28,161,259 | | | |
Beginning balance, value at Mar. 31, 2020 | | $ 27,451 | 45,172,525 | (26,033,007) | 19,166,969 |
Beginning balance, shares at Mar. 31, 2020 | | 27,451,064 | | | |
Common stock issued for option and warrant exercises | | $ 530 | 862,935 | | 863,465 |
Common stock issued for option and warrant exercises, shares | | 530,289 | | | |
Stock-based compensation expense | | $ 10 | 691,409 | | 691,419 |
Stock-based compensation expense, shares | | 9,689 | | | |
Net income (loss) | | | | 15,005,009 | 15,005,009 |
Ending balance, value at Jun. 30, 2020 | | $ 27,991 | 46,726,869 | (11,027,998) | 35,726,862 |
Ending balance, shares at Jun. 30, 2020 | | 27,991,042 | | | |
Common stock issued for option exercises | | $ 108 | 274,410 | | 274,518 |
Common stock issued for option exercises, shares | | 108,334 | | | |
Stock-based compensation expense | | $ 62 | 1,043,073 | | 1,043,135 |
Stock-based compensation expense, shares | | 61,883 | | | |
Net income (loss) | | | | 15,731,532 | 15,731,532 |
Ending balance, value at Sep. 30, 2020 | | $ 28,161 | 48,044,352 | 4,703,534 | 52,776,047 |
Ending balance, shares at Sep. 30, 2020 | | 28,161,259 | | | |
Beginning balance, value at Dec. 31, 2020 | | $ 28,558 | 49,157,236 | 17,510,715 | 66,696,509 |
Beginning balance, shares at Dec. 31, 2020 | | 28,558,033 | | | |
Common stock issued for option exercises | | $ 66 | 148,914 | | 148,980 |
Common stock issued for option exercises, shares | | 65,891 | | | |
Stock-based compensation expense | | $ 42 | 1,512,970 | | 1,513,012 |
Stock-based compensation expense, shares | | 41,790 | | | |
Net income (loss) | | | | 7,898,975 | 7,898,975 |
Ending balance, value at Mar. 31, 2021 | | $ 28,666 | 50,819,120 | 25,409,690 | 76,257,476 |
Ending balance, shares at Mar. 31, 2021 | | 28,665,714 | | | |
Beginning balance, value at Dec. 31, 2020 | | $ 28,558 | 49,157,236 | 17,510,715 | $ 66,696,509 |
Beginning balance, shares at Dec. 31, 2020 | | 28,558,033 | | | |
Common stock issued for option exercises, shares | | | | | 189,225 |
Net income (loss) | | | | | $ 29,160,154 |
Ending balance, value at Sep. 30, 2021 | | $ 28,895 | 53,458,589 | 46,670,869 | 100,158,353 |
Ending balance, shares at Sep. 30, 2021 | | 28,894,890 | | | |
Beginning balance, value at Mar. 31, 2021 | | $ 28,666 | 50,819,120 | 25,409,690 | 76,257,476 |
Beginning balance, shares at Mar. 31, 2021 | | 28,665,714 | | | |
Common stock issued for option exercises | | $ 118 | 295,799 | | 295,917 |
Common stock issued for option exercises, shares | | 118,334 | | | |
Stock-based compensation expense | | $ 106 | 927,231 | | 927,337 |
Stock-based compensation expense, shares | | 105,842 | | | |
Net income (loss) | | | | 9,785,213 | 9,785,213 |
Ending balance, value at Jun. 30, 2021 | | $ 28,890 | 52,042,150 | 35,194,903 | 87,265,943 |
Ending balance, shares at Jun. 30, 2021 | | 28,889,890 | | | |
Common stock issued for option exercises | | $ 5 | 5,495 | | 5,500 |
Common stock issued for option exercises, shares | | 5,000 | | | |
Stock-based compensation expense | | | 1,410,944 | | 1,410,944 |
Net income (loss) | | | | 11,475,966 | 11,475,966 |
Ending balance, value at Sep. 30, 2021 | | $ 28,895 | $ 53,458,589 | $ 46,670,869 | $ 100,158,353 |
Ending balance, shares at Sep. 30, 2021 | | 28,894,890 | | | |