v3.26.1
Stock Options (Details - Option activity) - Share-Based Payment Arrangement, Option [Member]
6 Months Ended 12 Months Ended
Jun. 30, 2026
$ / shares
shares
Dec. 31, 2025
$ / shares
shares
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]    
Number of options outstanding, beginning balance | shares 969,130  
Weighted average remaining contractual life 3 years 10 months 24 days 3 years 11 months 15 days
Weighted average exercise price per share, beginning balance | $ / shares $ 11.58  
Number of options, granted | shares 0  
Weighted average exercise price per share, granted | $ / shares $ 0  
Number of options, exercised | shares 0  
Weighted average exercise price per share, exercised | $ / shares $ 0  
Number of options, forfeited/cancelled | shares (45,000)  
Weighted average exercise price per share, forfeited/cancelled | $ / shares $ 12.26  
Number of options, expired | shares (84,132)  
Weighted average exercise price per share, expired | $ / shares $ 15.70  
Number of options outstanding, ending balance | shares 839,998 969,130
Weighted average exercise price per share, ending balance | $ / shares $ 11.12 $ 11.58
Number of options, vested and exercisable | shares 839,998  
Weighted- average remaining contractual life, vested and exercisable 3 years 10 months 24 days  
Weighted average exercise price per share, vested and exercisable | $ / shares $ 11.12