Consolidated Statements of Changes in Stockholders' Equity (Unaudited) - USD ($) $ in Thousands |
Master Settlement Agreement (MSA) Investments [Member]
Common Stock Outstanding [Member]
|
Master Settlement Agreement (MSA) Investments [Member]
Additional Paid-in Capital [Member]
|
Master Settlement Agreement (MSA) Investments [Member]
Treasury Stock, Common [Member]
|
Master Settlement Agreement (MSA) Investments [Member]
AOCI Attributable to Parent [Member]
|
Master Settlement Agreement (MSA) Investments [Member]
Retained Earnings [Member]
|
Master Settlement Agreement (MSA) Investments [Member]
Noncontrolling Interest [Member]
|
Master Settlement Agreement (MSA) Investments [Member] |
Other Investment [Member]
Common Stock Outstanding [Member]
|
Other Investment [Member]
Additional Paid-in Capital [Member]
|
Other Investment [Member]
Treasury Stock, Common [Member]
|
Other Investment [Member]
AOCI Attributable to Parent [Member]
|
Other Investment [Member]
Retained Earnings [Member]
|
Other Investment [Member]
Noncontrolling Interest [Member]
|
Other Investment [Member] |
Performance Based Restricted Stock Units [Member]
Common Stock Outstanding [Member]
|
Performance Based Restricted Stock Units [Member]
Additional Paid-in Capital [Member]
|
Performance Based Restricted Stock Units [Member]
Treasury Stock, Common [Member]
|
Performance Based Restricted Stock Units [Member]
AOCI Attributable to Parent [Member]
|
Performance Based Restricted Stock Units [Member]
Retained Earnings [Member]
|
Performance Based Restricted Stock Units [Member]
Noncontrolling Interest [Member]
|
Performance Based Restricted Stock Units [Member] |
Restricted Stock Units (RSUs) [Member]
Common Stock Outstanding [Member]
|
Restricted Stock Units (RSUs) [Member]
Additional Paid-in Capital [Member]
|
Restricted Stock Units (RSUs) [Member]
Treasury Stock, Common [Member]
|
Restricted Stock Units (RSUs) [Member]
AOCI Attributable to Parent [Member]
|
Restricted Stock Units (RSUs) [Member]
Retained Earnings [Member]
|
Restricted Stock Units (RSUs) [Member]
Noncontrolling Interest [Member]
|
Restricted Stock Units (RSUs) [Member] |
Common Stock Outstanding [Member] |
Additional Paid-in Capital [Member] |
Treasury Stock, Common [Member] |
AOCI Attributable to Parent [Member] |
Retained Earnings [Member] |
Noncontrolling Interest [Member] |
Total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Balance (in shares) at Dec. 31, 2024 | 17,729,481 | ||||||||||||||||||||||||||||||||||
| Balance at Dec. 31, 2024 | $ 202 | $ 126,662 | $ (83,144) | $ (2,903) | $ 147,164 | $ 2,399 | $ 190,380 | ||||||||||||||||||||||||||||
| Unrealized gain (loss) on investments, net of tax | $ 0 | $ 0 | $ 0 | $ 693 | $ 0 | $ 0 | $ 693 | $ 0 | $ 0 | $ 0 | $ 96 | $ 0 | $ 0 | $ 96 | |||||||||||||||||||||
| Foreign currency translation, net of tax of $0 in 2026 and 2025 | 0 | 0 | 0 | 42 | 0 | (28) | 14 | ||||||||||||||||||||||||||||
| Stock compensation expense | $ 0 | 3,292 | 0 | 0 | 0 | 0 | 3,292 | ||||||||||||||||||||||||||||
| Exercise of options (in shares) | 155,965 | ||||||||||||||||||||||||||||||||||
| Exercise of options | $ 1 | 4,920 | 0 | 0 | 0 | 0 | 4,921 | ||||||||||||||||||||||||||||
| Issuance of performance based restricted stock units (in shares) | 104,532 | 91,874 | |||||||||||||||||||||||||||||||||
| Issuance of performance based restricted stock units | $ 1 | $ (2) | $ 0 | $ 0 | $ 0 | $ 0 | $ (1) | ||||||||||||||||||||||||||||
| Redemption of options (in shares) | (34,196) | (26,222) | (572) | ||||||||||||||||||||||||||||||||
| Redemption of performance based restricted stock units | $ 0 | 2,625 | 0 | 0 | 0 | 0 | 2,625 | ||||||||||||||||||||||||||||
| Issuance of stock units | $ 1 | $ 0 | $ 0 | $ 0 | $ 0 | $ 0 | $ 1 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | 0 | 1,969 | 0 | 0 | 0 | 0 | 1,969 | ||||||||||||||||||||||||||||
| Dividends | $ 0 | 0 | 0 | 0 | (2,759) | 0 | (2,759) | ||||||||||||||||||||||||||||
| Consolidated net income | 0 | 0 | 0 | 0 | 28,875 | 3,876 | 32,751 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | 0 | 1,969 | 0 | 0 | 0 | 0 | 1,969 | ||||||||||||||||||||||||||||
| Redemption of options | 0 | (33) | 0 | 0 | 0 | 0 | (33) | ||||||||||||||||||||||||||||
| Unrealized gain on derivative instruments, net of tax of $0 in 2026 and $18 in 2025 | $ 0 | 0 | 0 | 62 | 0 | 0 | 62 | ||||||||||||||||||||||||||||
| Redemption of performance based restricted stock units | $ 0 | (2,625) | 0 | 0 | 0 | 0 | (2,625) | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | $ 0 | (1,969) | 0 | 0 | 0 | 0 | (1,969) | ||||||||||||||||||||||||||||
| Balance (in shares) at Jun. 30, 2025 | 18,020,862 | ||||||||||||||||||||||||||||||||||
| Balance at Jun. 30, 2025 | $ 205 | 130,245 | (83,144) | (2,010) | 173,280 | 6,247 | 224,823 | ||||||||||||||||||||||||||||
| Balance (in shares) at Dec. 31, 2024 | 17,729,481 | ||||||||||||||||||||||||||||||||||
| Balance at Dec. 31, 2024 | $ 202 | 126,662 | (83,144) | (2,903) | 147,164 | 2,399 | 190,380 | ||||||||||||||||||||||||||||
| Balance (in shares) at Dec. 31, 2025 | 19,132,384 | ||||||||||||||||||||||||||||||||||
| Balance at Dec. 31, 2025 | $ 216 | 203,627 | (47,637) | (1,563) | 199,661 | 17,679 | 371,983 | ||||||||||||||||||||||||||||
| Balance (in shares) at Mar. 31, 2025 | 17,895,505 | ||||||||||||||||||||||||||||||||||
| Balance at Mar. 31, 2025 | $ 204 | 124,811 | (83,144) | (2,363) | 160,182 | 3,747 | 203,437 | ||||||||||||||||||||||||||||
| Unrealized gain (loss) on investments, net of tax | 0 | 0 | 0 | 199 | 0 | 0 | 199 | 0 | 0 | 0 | 117 | 0 | 0 | 117 | |||||||||||||||||||||
| Foreign currency translation, net of tax of $0 in 2026 and 2025 | 0 | 0 | 0 | 37 | 0 | 20 | 57 | ||||||||||||||||||||||||||||
| Stock compensation expense | $ 0 | 1,628 | 0 | 0 | 0 | 0 | 1,628 | ||||||||||||||||||||||||||||
| Exercise of options (in shares) | 130,861 | ||||||||||||||||||||||||||||||||||
| Exercise of options | $ 1 | 3,947 | 0 | 0 | 0 | 0 | 3,948 | ||||||||||||||||||||||||||||
| Issuance of performance based restricted stock units (in shares) | (13,950) | 4,772 | |||||||||||||||||||||||||||||||||
| Issuance of performance based restricted stock units | $ 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Redemption of options (in shares) | 3,131 | 543 | |||||||||||||||||||||||||||||||||
| Redemption of performance based restricted stock units | $ 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Issuance of stock units | $ 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | 0 | (141) | 0 | 0 | 0 | 0 | (141) | ||||||||||||||||||||||||||||
| Dividends | 0 | 0 | 0 | 0 | (1,382) | 0 | (1,382) | ||||||||||||||||||||||||||||
| Consolidated net income | $ 0 | 0 | 0 | 0 | 14,480 | 2,480 | 16,960 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | 0 | (141) | 0 | 0 | 0 | 0 | (141) | ||||||||||||||||||||||||||||
| Redemption of performance based restricted stock units | $ (0) | (0) | (0) | (0) | (0) | (0) | (0) | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | $ (0) | 141 | (0) | (0) | (0) | (0) | 141 | ||||||||||||||||||||||||||||
| Balance (in shares) at Jun. 30, 2025 | 18,020,862 | ||||||||||||||||||||||||||||||||||
| Balance at Jun. 30, 2025 | $ 205 | 130,245 | (83,144) | (2,010) | 173,280 | 6,247 | 224,823 | ||||||||||||||||||||||||||||
| Balance (in shares) at Dec. 31, 2025 | 19,132,384 | ||||||||||||||||||||||||||||||||||
| Balance at Dec. 31, 2025 | $ 216 | 203,627 | (47,637) | (1,563) | 199,661 | 17,679 | 371,983 | ||||||||||||||||||||||||||||
| Unrealized gain (loss) on investments, net of tax | 0 | 0 | 0 | (135) | 0 | 0 | (135) | 0 | 0 | 0 | 146 | 0 | 0 | 146 | |||||||||||||||||||||
| Foreign currency translation, net of tax of $0 in 2026 and 2025 | 0 | 0 | 0 | (423) | 0 | (231) | (654) | ||||||||||||||||||||||||||||
| Stock compensation expense | $ 0 | 5,639 | 0 | 0 | 0 | 0 | 5,639 | ||||||||||||||||||||||||||||
| Exercise of options (in shares) | 7,701 | ||||||||||||||||||||||||||||||||||
| Exercise of options | $ 0 | 324 | 0 | 0 | 0 | 0 | 324 | ||||||||||||||||||||||||||||
| Issuance of performance based restricted stock units (in shares) | 177,587 | 70,707 | |||||||||||||||||||||||||||||||||
| Issuance of performance based restricted stock units | $ 2 | 0 | 0 | 0 | 0 | 0 | 2 | ||||||||||||||||||||||||||||
| Redemption of options (in shares) | (8,138) | (4,203) | 0 | ||||||||||||||||||||||||||||||||
| Redemption of performance based restricted stock units | $ 0 | (1,014) | 0 | 0 | 0 | 0 | (1,014) | ||||||||||||||||||||||||||||
| Issuance of stock units | $ 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | 0 | (332) | 0 | 0 | 0 | 0 | (332) | ||||||||||||||||||||||||||||
| Issuance of common stock in connection with equity offering, net of fees (in shares) | 672,884 | ||||||||||||||||||||||||||||||||||
| Stock Issued During Period, Value, New Issues | $ 7 | 33,076 | 0 | 0 | 0 | 59,549 | |||||||||||||||||||||||||||||
| Issuance of common stock in connection with equity offering, net of fees | 26,466 | ||||||||||||||||||||||||||||||||||
| Tax distribution | 0 | 0 | 0 | 0 | 0 | (2,500) | (2,500) | ||||||||||||||||||||||||||||
| Dividends | 0 | 0 | 0 | 0 | (3,227) | 0 | (3,227) | ||||||||||||||||||||||||||||
| Consolidated net income | 0 | 0 | 0 | 0 | 15,265 | 8,978 | 24,243 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | 0 | (332) | 0 | 0 | 0 | 0 | (332) | ||||||||||||||||||||||||||||
| Redemption of options | $ 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Unrealized gain on derivative instruments, net of tax of $0 in 2026 and $18 in 2025 | 0 | ||||||||||||||||||||||||||||||||||
| Redemption of performance based restricted stock units | $ (0) | 1,014 | (0) | (0) | (0) | (0) | 1,014 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | $ (0) | 332 | (0) | (0) | (0) | (0) | 332 | ||||||||||||||||||||||||||||
| Balance (in shares) at Jun. 30, 2026 | 20,048,922 | ||||||||||||||||||||||||||||||||||
| Balance at Jun. 30, 2026 | $ 225 | 241,320 | (21,171) | (1,975) | 211,699 | 23,926 | 454,024 | ||||||||||||||||||||||||||||
| Balance (in shares) at Mar. 31, 2026 | 19,367,534 | ||||||||||||||||||||||||||||||||||
| Balance at Mar. 31, 2026 | $ 218 | 205,542 | (47,637) | (2,090) | 209,730 | 19,726 | 385,489 | ||||||||||||||||||||||||||||
| Unrealized gain (loss) on investments, net of tax | $ 0 | $ 0 | $ 0 | $ (60) | $ 0 | $ 0 | $ (60) | $ 0 | $ 0 | $ 0 | $ 180 | $ 0 | $ 0 | $ 180 | |||||||||||||||||||||
| Foreign currency translation, net of tax of $0 in 2026 and 2025 | 0 | 0 | 0 | (5) | 0 | (3) | (8) | ||||||||||||||||||||||||||||
| Stock compensation expense | $ 0 | 2,701 | 0 | 0 | 0 | 2,701 | |||||||||||||||||||||||||||||
| Exercise of options (in shares) | 40 | ||||||||||||||||||||||||||||||||||
| Exercise of options | $ 0 | 1 | 0 | 0 | 0 | 0 | 1 | ||||||||||||||||||||||||||||
| Issuance of performance based restricted stock units (in shares) | 0 | 8,464 | |||||||||||||||||||||||||||||||||
| Issuance of performance based restricted stock units | $ 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Redemption of options (in shares) | 0 | 0 | |||||||||||||||||||||||||||||||||
| Redemption of performance based restricted stock units | $ 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Issuance of stock units | $ 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Issuance of common stock in connection with equity offering, net of fees (in shares) | 672,884 | ||||||||||||||||||||||||||||||||||
| Stock Issued During Period, Value, New Issues | $ 7 | 33,076 | 0 | 0 | 0 | 59,549 | |||||||||||||||||||||||||||||
| Issuance of common stock in connection with equity offering, net of fees | 26,466 | ||||||||||||||||||||||||||||||||||
| Tax distribution | 0 | 0 | 0 | 0 | 0 | (2,500) | (2,500) | ||||||||||||||||||||||||||||
| Dividends | 0 | 0 | 0 | 0 | (1,629) | 0 | (1,629) | ||||||||||||||||||||||||||||
| Consolidated net income | $ 0 | 0 | 0 | 0 | 3,598 | 6,703 | 10,301 | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||
| Redemption of performance based restricted stock units | $ (0) | $ (0) | $ (0) | $ (0) | $ (0) | $ (0) | $ (0) | ||||||||||||||||||||||||||||
| Redemption of restricted stock units | $ (0) | $ (0) | $ (0) | $ (0) | $ (0) | $ (0) | $ (0) | ||||||||||||||||||||||||||||
| Balance (in shares) at Jun. 30, 2026 | 20,048,922 | ||||||||||||||||||||||||||||||||||
| Balance at Jun. 30, 2026 | $ 225 | $ 241,320 | $ (21,171) | $ (1,975) | $ 211,699 | $ 23,926 | $ 454,024 |