XML 71 R58.htm IDEA: XBRL DOCUMENT v3.21.1
16. STOCK OPTIONS AND WARRANTS (Details-Options Outstanding and Exercisable) - Employee Stock Option [Member] - USD ($)
12 Months Ended
Dec. 31, 2020
Dec. 31, 2019
Dec. 31, 2018
Number of Outstanding 341,808 239,704 296,406
Weighted Average Remaining Contractual Life 6 years 26 days 5 years 7 months 17 days  
Weighted Average Exercise Price $ 11.27 $ 9.25 $ 11.5
Aggregate Intrinsic Value $ 21,366,745    
Number of Exercisable 233,475    
Weighted Average Exercise Price $ 12.23    
Aggregate Intrinsic Value $ 14,369,261    
4.09 - 8.00 [Member]      
Range of Exercise Price, Lower $ 4.09 4.09  
Range of Exercise Price, Upper $ 8.00 $ 8.00  
Number of Outstanding 194,108 148,404  
Weighted Average Remaining Contractual Life 7 years 5 months 1 day 7 years 11 months 4 days  
Weighted Average Exercise Price $ 6.23 $ 6.73  
Aggregate Intrinsic Value $ 13,111,999 $ 5,187  
Number of Exercisable 125,567 104,415  
Weighted Average Exercise Price $ 6.83 $ 7.13  
Aggregate Intrinsic Value $ 8,406,649 $ 5,187  
10.00 - 13.50 [Member]      
Range of Exercise Price, Lower $ 10.00 $ 10.00  
Range of Exercise Price, Upper $ 13.50 $ 13.50  
Number of Outstanding 111,200 91,300  
Weighted Average Remaining Contractual Life 2 years 5 months 20 days 1 year 10 months 21 days  
Weighted Average Exercise Price $ 13.23 $ 13.33  
Aggregate Intrinsic Value $ 6,732,736 $ 0  
Number of Exercisable 92,450 91,300  
Weighted Average Exercise Price $ 13.33 $ 13.33  
Aggregate Intrinsic Value $ 5,588,611  
17.44 - 52.69 [Member]      
Range of Exercise Price, Lower $ 17.44    
Range of Exercise Price, Upper $ 52.69    
Number of Outstanding 36,500 239,704  
Weighted Average Remaining Contractual Life 9 years 10 months 10 days    
Weighted Average Exercise Price $ 32.08 $ 9.25  
Aggregate Intrinsic Value $ 1,522,010 $ 5,187  
Number of Exercisable 15,458 195,715  
Weighted Average Exercise Price $ 49.59 $ 10.02  
Aggregate Intrinsic Value $ 374,001 $ 5,187