| 14. Stock Options (Details Narrative) - USD ($) | 3 Months Ended | |
|---|---|---|
| Mar. 31, 2020 | Mar. 31, 2019 | |
| Share-based compensation | $ 23,814 | $ 35,749 | 
| Unvested share based compensation | $ 119,067 | |
| 2015 Plan [Member] | ||
| Shares authorized under plan | 2,167,667 | |
| X | ||||||||||
| 
- Definition Amount of cost not yet recognized for nonvested award under share-based payment arrangement. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
 | 
| X | ||||||||||
| 
- Definition Amount of noncash expense for share-based payment arrangement. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
 | 
| X | ||||||||||
| 
- Definition Number of shares authorized for issuance under share-based payment arrangement. Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef 
 | 
| X | ||||||||||
| 
- Details 
 |