Quarterly report pursuant to Section 13 or 15(d)

Stockholders' Equity (Details - Options by exercise price (Details - Options Outstanding and Exercisable)

v3.21.2
Stockholders' Equity (Details - Options by exercise price (Details - Options Outstanding and Exercisable) - Equity Option [Member] - $ / shares
Sep. 30, 2021
Dec. 31, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 315,000 210,000
Options outstanding, exercise price $ 4.80 $ 9.61
Options Exercisable 315,000  
Options exercisable, exercise price $ 4.96  
Range 1 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 30,000  
Options outstanding, exercise price $ 5.70  
Options Exercisable 30,000  
Options exercisable, exercise price $ 5.70  
Range 2 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 30,000  
Options outstanding, exercise price $ 5.70  
Options Exercisable 30,000  
Options exercisable, exercise price $ 5.70  
Range 3 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 30,000  
Options outstanding, exercise price $ 5.70  
Options Exercisable 30,000  
Options exercisable, exercise price $ 5.70  
Range 4 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 30,000  
Options outstanding, exercise price $ 5.70  
Options Exercisable 30,000  
Options exercisable, exercise price $ 5.70  
Range 5 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 30,000  
Options outstanding, exercise price $ 5.70  
Options Exercisable 30,000  
Options exercisable, exercise price $ 5.70  
Range 6 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 30,000  
Options outstanding, exercise price $ 5.70  
Options Exercisable 30,000  
Options exercisable, exercise price $ 5.70  
Range 7 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 30,000  
Options outstanding, exercise price $ 5.70  
Options Exercisable 30,000  
Options exercisable, exercise price $ 5.70  
Range 8 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 15,000  
Options outstanding, exercise price $ 3.00  
Options Exercisable 15,000  
Options exercisable, exercise price $ 3.00  
Range 9 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 15,000  
Options outstanding, exercise price $ 3.00  
Options Exercisable 15,000  
Options exercisable, exercise price $ 3.00  
Range 10 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 15,000  
Options outstanding, exercise price $ 3.00  
Options Exercisable 15,000  
Options exercisable, exercise price $ 3.00  
Range 11 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 15,000  
Options outstanding, exercise price $ 3.00  
Options Exercisable 15,000  
Options exercisable, exercise price $ 3.00  
Range 12 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 15,000  
Options outstanding, exercise price $ 3.00  
Options Exercisable 15,000  
Options exercisable, exercise price $ 3.00  
Range 13 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 15,000  
Options outstanding, exercise price $ 3.00  
Options Exercisable 15,000  
Options exercisable, exercise price $ 3.00  
Range 14 [Member]    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]    
Options Outstanding 15,000  
Options outstanding, exercise price $ 3.00  
Options Exercisable 15,000  
Options exercisable, exercise price $ 3.00