XML 17 R3.htm IDEA: XBRL DOCUMENT v3.22.0.1
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Statement Of Financial Position [Abstract]      
Allowance for doubtful accounts receivable $ 840,522 $ 935,261 $ 767,464
Preferred stock, par value $ 0.001 $ 0.001  
Preferred stock, shares authorized 10,000,000 10,000,000  
Preferred stock, shares issued 0 0  
Preferred stock, shares outstanding 0 0  
Common stock, par value $ 0.001 $ 0.001  
Common stock, shares authorized 200,000,000 200,000,000  
Common stock, shares issued 19,045,988 18,413,419  
Common stock, shares outstanding 19,045,988 18,413,419