Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)
Preferred Stock [Member]
Convertible Preferred Stock [Member]
Common Stock [Member]
Treasury Stock, Common [Member]
Additional Paid-in Capital [Member]
AOCI Attributable to Parent [Member]
Retained Earnings [Member]
Total
Balance at Dec. 31, 2021 $ 33,820 $ 80,271,999 $ 54,169,279 $ 134,475,100
Balance, shares at Dec. 31, 2021 33,819,862          
Stock-based compensation $ 69 1,375,028 1,375,097
Stock-based compensation, shares   68,750          
Net income (loss) 11,714,595 11,714,595
Common stock issued for option exercises $ 45 49,956 50,001
Common stock issued for option exercises, shares   45,456          
Common stock issued for warrant exercises $ 50 99,950   100,000
Common stock issued for warrant exercises, shares   50,000          
Balance at Mar. 31, 2022 $ 33,984 81,796,933 65,883,874 147,714,793
Balance, shares at Mar. 31, 2022 33,984,068          
Balance at Dec. 31, 2021 $ 33,820 80,271,999 54,169,279 134,475,100
Balance, shares at Dec. 31, 2021 33,819,862          
Net income (loss)             9,028,292
Balance at Jun. 30, 2022 $ 34,313 (2,599,478) 83,838,533 63,197,571 144,470,941
Balance, shares at Jun. 30, 2022 34,313,432          
Balance at Mar. 31, 2022 $ 33,984 81,796,933 65,883,874 147,714,793
Balance, shares at Mar. 31, 2022 33,984,068          
Stock-based compensation $ 215 1,533,069 1,533,284
Stock-based compensation, shares   215,583          
Repurchases of common stock (2,599,478) (2,599,478)
Net income (loss) (2,686,303) (2,686,303)
Common stock issued for option exercises $ 25 27,844 27,869
Common stock issued for option exercises, shares   25,335          
Common stock issued for acquisitions $ 89 480,687 480,776
Common stock issued for acquisitions, shares   88,446          
Balance at Jun. 30, 2022 $ 34,313 (2,599,478) 83,838,533 63,197,571 144,470,941
Balance, shares at Jun. 30, 2022 34,313,432          
Balance at Dec. 31, 2022 $ 34,754 (14,211,866) 88,472,935 293,140 39,931,031 114,519,994
Balance, shares at Dec. 31, 2022 34,754,265          
Stock-based compensation $ 69 2,168,673 2,168,742
Stock-based compensation, shares   68,750          
Repurchases of common stock (482,196) (482,196)
Other comprehensive income, net of tax 178,621 178,621
Net income (loss) (5,755,391) (5,755,391)
Balance at Mar. 31, 2023 $ 34,823 (14,694,062) 90,641,608 471,761 34,175,640 110,629,770
Balance, shares at Mar. 31, 2023 34,823,015          
Balance at Dec. 31, 2022 $ 34,754 (14,211,866) 88,472,935 293,140 39,931,031 114,519,994
Balance, shares at Dec. 31, 2022 34,754,265          
Net income (loss)             $ (14,674,216)
Common stock issued for option exercises, shares            
Balance at Jun. 30, 2023 $ 35,348 (15,249,796) 92,810,883 579,127 25,256,815 $ 103,432,377
Balance, shares at Jun. 30, 2023 35,348,350          
Balance at Mar. 31, 2023 $ 34,823 (14,694,062) 90,641,608 471,761 34,175,640 110,629,770
Balance, shares at Mar. 31, 2023 34,823,015          
Stock-based compensation $ 525 2,169,275 2,169,800
Stock-based compensation, shares   525,335          
Repurchases of common stock (555,734) (555,734)
Other comprehensive income, net of tax 107,366 107,366
Net income (loss) (8,918,825) (8,918,825)
Balance at Jun. 30, 2023 $ 35,348 $ (15,249,796) $ 92,810,883 $ 579,127 $ 25,256,815 $ 103,432,377
Balance, shares at Jun. 30, 2023 35,348,350