Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($) $ in Thousands | Private Placement [Member]Common Stock [Member] | Private Placement [Member]Additional Paid-in Capital [Member] | Private Placement [Member]Retained Earnings [Member] | Private Placement [Member]AOCI Attributable to Parent [Member] | Private Placement [Member] | Underwritten Public Offering [Member]Common Stock [Member] | Underwritten Public Offering [Member]Additional Paid-in Capital [Member] | Underwritten Public Offering [Member]Retained Earnings [Member] | Underwritten Public Offering [Member]AOCI Attributable to Parent [Member] | Underwritten Public Offering [Member] | Common Stock [Member] | Additional Paid-in Capital [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Total |
Balances (in shares) at Dec. 31, 2019 | | | | | | | | | | | 6,631,000 | | | | |
Balances at Dec. 31, 2019 | | | | | | | | | | | $ 7 | $ 42,331 | $ (41,258) | $ 305 | $ 1,385 |
Stock-based compensation | | | | | | | | | | | 0 | 112 | 0 | 0 | 112 |
Net loss | | | | | | | | | | | 0 | 0 | (1,798) | 0 | (1,798) |
Foreign currency translation adjustment | | | | | | | | | | | 0 | 0 | 0 | 797 | 797 |
Warrants issued for future services | | | | | | | | | | | $ 0 | 228 | 0 | 0 | 228 |
Balances (in shares) at Mar. 31, 2020 | | | | | | | | | | | 6,631,000 | | | | |
Balances at Mar. 31, 2020 | | | | | | | | | | | $ 7 | 42,671 | (43,056) | 1,102 | 724 |
Balances (in shares) at Dec. 31, 2019 | | | | | | | | | | | 6,631,000 | | | | |
Balances at Dec. 31, 2019 | | | | | | | | | | | $ 7 | 42,331 | (41,258) | 305 | 1,385 |
Net loss | | | | | | | | | | | | | | | (3,888) |
Foreign currency translation adjustment | | | | | | | | | | | | | | | (164) |
Balances (in shares) at Sep. 30, 2020 | | | | | | | | | | | 9,649,000 | | | | |
Balances at Sep. 30, 2020 | | | | | | | | | | | $ 10 | 54,544 | (45,146) | 141 | 9,549 |
Balances (in shares) at Mar. 31, 2020 | | | | | | | | | | | 6,631,000 | | | | |
Balances at Mar. 31, 2020 | | | | | | | | | | | $ 7 | 42,671 | (43,056) | 1,102 | 724 |
Stock-based compensation | | | | | | | | | | | 0 | 264 | 0 | 0 | 264 |
Net loss | | | | | | | | | | | 0 | 0 | (419) | 0 | (419) |
Foreign currency translation adjustment | | | | | | | | | | | $ 0 | 0 | 0 | (715) | (715) |
Public offering of common stock (in shares) | 437,000 | | | | | | | | | | | | | | |
Public offering of common stock | $ 0 | $ 1,746 | $ 0 | $ 0 | $ 1,746 | | | | | | | | | | |
Balances (in shares) at Jun. 30, 2020 | | | | | | | | | | | 7,068,000 | | | | |
Balances at Jun. 30, 2020 | | | | | | | | | | | $ 7 | 44,681 | (43,475) | 387 | 1,600 |
Warrants exercised for cash (in shares) | | | | | | | | | | | 28,000 | | | | |
Warrants exercised for cash | | | | | | | | | | | $ 0 | 52 | 0 | 0 | 52 |
Warrants exercised net cashless (in shares) | | | | | | | | | | | 8,000 | | | | |
Warrants exercised net cashless | | | | | | | | | | | $ 0 | 0 | 0 | 0 | 0 |
Stock-based compensation | | | | | | | | | | | 0 | 593 | 0 | 0 | 593 |
Net loss | | | | | | | | | | | 0 | 0 | (1,671) | 0 | (1,671) |
Foreign currency translation adjustment | | | | | | | | | | | $ 0 | 0 | 0 | (246) | (246) |
Public offering of common stock (in shares) | | | | | | 2,545,000 | | | | | | | | | |
Public offering of common stock | | | | | | $ 3 | $ 9,218 | $ 0 | $ 0 | $ 9,221 | | | | | |
Balances (in shares) at Sep. 30, 2020 | | | | | | | | | | | 9,649,000 | | | | |
Balances at Sep. 30, 2020 | | | | | | | | | | | $ 10 | 54,544 | (45,146) | 141 | 9,549 |
Balances (in shares) at Dec. 31, 2020 | | | | | | | | | | | 9,664,000 | | | | |
Balances at Dec. 31, 2020 | | | | | | | | | | | $ 10 | 54,848 | (46,026) | (384) | 8,448 |
Warrants exercised for cash (in shares) | | | | | | | | | | | 229,000 | | | | |
Warrants exercised for cash | | | | | | | | | | | $ 0 | 1,042 | 0 | 0 | 1,042 |
Warrants exercised net cashless (in shares) | | | | | | | | | | | 189,000 | | | | |
Warrants exercised net cashless | | | | | | | | | | | $ 0 | 0 | 0 | 0 | 0 |
Vested restricted stock units (in shares) | | | | | | | | | | | 7,000 | | | | |
Vested restricted stock units | | | | | | | | | | | $ 0 | 0 | 0 | 0 | 0 |
Stock-based compensation | | | | | | | | | | | 0 | 252 | 0 | 0 | 252 |
Net loss | | | | | | | | | | | 0 | 0 | (2,257) | 0 | (2,257) |
Foreign currency translation adjustment | | | | | | | | | | | $ 0 | 0 | 0 | 99 | 99 |
Balances (in shares) at Mar. 31, 2021 | | | | | | | | | | | 10,089,000 | | | | |
Balances at Mar. 31, 2021 | | | | | | | | | | | $ 10 | 56,142 | (48,283) | (285) | 7,584 |
Balances (in shares) at Dec. 31, 2020 | | | | | | | | | | | 9,664,000 | | | | |
Balances at Dec. 31, 2020 | | | | | | | | | | | $ 10 | 54,848 | (46,026) | (384) | $ 8,448 |
Warrants exercised for cash (in shares) | | | | | | | | | | | | | | | 228,939 |
Warrants exercised net cashless (in shares) | | | | | | | | | | | | | | | 190,588 |
Net loss | | | | | | | | | | | | | | | $ (6,597) |
Foreign currency translation adjustment | | | | | | | | | | | | | | | 566 |
Balances (in shares) at Sep. 30, 2021 | | | | | | | | | | | 13,434,000 | | | | |
Balances at Sep. 30, 2021 | | | | | | | | | | | $ 13 | 65,891 | (52,624) | 183 | 13,463 |
Balances (in shares) at Mar. 31, 2021 | | | | | | | | | | | 10,089,000 | | | | |
Balances at Mar. 31, 2021 | | | | | | | | | | | $ 10 | 56,142 | (48,283) | (285) | 7,584 |
Warrants exercised net cashless (in shares) | | | | | | | | | | | 2,000 | | | | |
Warrants exercised net cashless | | | | | | | | | | | $ 0 | 0 | 0 | 0 | 0 |
Vested restricted stock units (in shares) | | | | | | | | | | | 4,000 | | | | |
Vested restricted stock units | | | | | | | | | | | $ 0 | 0 | 0 | 0 | 0 |
Stock-based compensation | | | | | | | | | | | 0 | 363 | 0 | 0 | 363 |
Net loss | | | | | | | | | | | 0 | 0 | (2,199) | 0 | (2,199) |
Foreign currency translation adjustment | | | | | | | | | | | $ 0 | 0 | 0 | 141 | 141 |
Balances (in shares) at Jun. 30, 2021 | | | | | | | | | | | 10,095,000 | | | | |
Balances at Jun. 30, 2021 | | | | | | | | | | | $ 10 | 56,505 | (50,482) | (144) | 5,889 |
Vested restricted stock units (in shares) | | | | | | | | | | | 6,000 | | | | |
Vested restricted stock units | | | | | | | | | | | $ 0 | 0 | 0 | 0 | 0 |
Stock-based compensation | | | | | | | | | | | 0 | 336 | 0 | 0 | 336 |
Net loss | | | | | | | | | | | 0 | 0 | (2,142) | 0 | (2,142) |
Foreign currency translation adjustment | | | | | | | | | | | $ 0 | 0 | 0 | 327 | 327 |
Public offering of common stock (in shares) | | | | | | | | | | | 3,333,000 | | | | |
Public offering of common stock | | | | | | | | | | | $ 3 | 9,050 | | | 9,053 |
Balances (in shares) at Sep. 30, 2021 | | | | | | | | | | | 13,434,000 | | | | |
Balances at Sep. 30, 2021 | | | | | | | | | | | $ 13 | $ 65,891 | $ (52,624) | $ 183 | $ 13,463 |