2021 Q4 Form 10-K Financial Statement
#000143774922000928 Filed on January 14, 2022
Income Statement
Concept | 2021 Q4 | 2021 | 2020 Q4 |
---|---|---|---|
Revenue | $21.11M | $57.42M | $10.70M |
YoY Change | 97.27% | 33.41% | -31.15% |
Cost Of Revenue | $15.78M | $39.66M | $7.700M |
YoY Change | 104.87% | 25.98% | -32.52% |
Gross Profit | $5.333M | $17.77M | $3.000M |
YoY Change | 77.77% | 53.62% | -27.36% |
Gross Profit Margin | 25.27% | 30.94% | 28.04% |
Selling, General & Admin | $3.775M | $11.87M | $2.560M |
YoY Change | 47.46% | 18.98% | -3.76% |
% of Gross Profit | 70.79% | 66.83% | 85.33% |
Research & Development | $435.0K | $1.479M | $440.0K |
YoY Change | -1.14% | -25.64% | 0.0% |
% of Gross Profit | 8.16% | 8.32% | 14.67% |
Depreciation & Amortization | $178.0K | $770.0K | $250.0K |
YoY Change | -28.8% | -24.06% | 78.57% |
% of Gross Profit | 3.34% | 4.33% | 8.33% |
Operating Expenses | $4.210M | $13.35M | $2.990M |
YoY Change | 40.8% | 11.56% | -3.55% |
Operating Profit | $1.123M | $4.415M | $10.00K |
YoY Change | 11130.0% | -1195.53% | -99.03% |
Interest Expense | |||
YoY Change | |||
% of Operating Profit | |||
Other Income/Expense, Net | -$1.000K | $2.802M | -$60.00K |
YoY Change | -98.33% | -6326.67% | -400.0% |
Pretax Income | $1.122M | $7.217M | -$60.00K |
YoY Change | -1970.0% | -1710.94% | -105.66% |
Income Tax | $309.0K | $1.000M | -$220.0K |
% Of Pretax Income | 27.54% | 13.86% | |
Net Earnings | $813.0K | $6.181M | $160.0K |
YoY Change | 408.13% | -7730.86% | -79.49% |
Net Earnings / Revenue | 3.85% | 10.76% | 1.5% |
Basic Earnings Per Share | $0.62 | ||
Diluted Earnings Per Share | $79.52K | $0.61 | $16.44K |
COMMON SHARES | |||
Basic Shares Outstanding | 9.979M | 9.848M | |
Diluted Shares Outstanding | 10.15M |
Balance Sheet
Concept | 2021 Q4 | 2021 | 2020 Q4 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $13.05M | $13.05M | $15.80M |
YoY Change | -17.39% | -17.39% | 26.0% |
Cash & Equivalents | $13.05M | $13.05M | $15.80M |
Short-Term Investments | |||
Other Short-Term Assets | $2.893M | $2.893M | $813.0K |
YoY Change | 255.84% | 257.16% | 18.69% |
Inventory | $11.18M | $11.18M | $8.586M |
Prepaid Expenses | $439.0K | $393.0K | |
Receivables | $13.52M | $13.52M | $5.669M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $40.65M | $40.65M | $30.87M |
YoY Change | 31.7% | 31.67% | -8.3% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $708.0K | $2.161M | $810.0K |
YoY Change | -12.59% | -3.09% | -3.46% |
Goodwill | $2.467M | $2.467M | |
YoY Change | 0.0% | 84.1% | |
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $70.00K | $459.0K | $70.00K |
YoY Change | 0.0% | -49.0% | 2.94% |
Total Long-Term Assets | $9.000M | $9.000M | $9.957M |
YoY Change | -9.61% | -9.55% | 146.46% |
TOTAL ASSETS | |||
Total Short-Term Assets | $40.65M | $40.65M | $30.87M |
Total Long-Term Assets | $9.000M | $9.000M | $9.957M |
Total Assets | $49.65M | $49.65M | $40.82M |
YoY Change | 21.62% | 21.63% | 8.28% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $3.504M | $3.504M | $1.475M |
YoY Change | 137.56% | 136.76% | -38.69% |
Accrued Expenses | $5.034M | $5.866M | $2.573M |
YoY Change | 95.65% | 70.03% | -29.56% |
Deferred Revenue | |||
YoY Change | |||
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | $0.00 | $0.00 | $1.699M |
YoY Change | -100.0% | -100.0% | |
Total Short-Term Liabilities | $9.370M | $9.370M | $6.664M |
YoY Change | 40.61% | 40.69% | 9.61% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $1.089M |
YoY Change | -100.0% | -100.0% | |
Other Long-Term Liabilities | $0.00 | $675.0K | $370.0K |
YoY Change | -100.0% | -33.17% | 325.29% |
Total Long-Term Liabilities | $0.00 | $675.0K | $1.459M |
YoY Change | -100.0% | -67.86% | 1577.01% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $9.370M | $9.370M | $6.664M |
Total Long-Term Liabilities | $0.00 | $675.0K | $1.459M |
Total Liabilities | $10.05M | $10.05M | $8.758M |
YoY Change | 14.7% | 14.67% | 42.01% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $15.20M | $9.020M | |
YoY Change | 68.53% | -4.94% | |
Common Stock | $24.40M | $23.04M | |
YoY Change | 5.89% | 4.54% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $39.60M | $39.60M | $32.06M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $49.65M | $49.65M | $40.82M |
YoY Change | 21.62% | 21.63% | 8.28% |
Cashflow Statement
Concept | 2021 Q4 | 2021 | 2020 Q4 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $813.0K | $6.181M | $160.0K |
YoY Change | 408.13% | -7730.86% | -79.49% |
Depreciation, Depletion And Amortization | $178.0K | $770.0K | $250.0K |
YoY Change | -28.8% | -24.06% | 78.57% |
Cash From Operating Activities | $470.0K | -$3.122M | $290.0K |
YoY Change | 62.07% | -168.66% | -140.28% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$33.00K | $227.0K | -$120.0K |
YoY Change | -72.5% | -3.4% | 9.09% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $0.00 | $0.00 | $0.00 |
YoY Change | -100.0% | ||
Cash From Investing Activities | -$33.00K | -$227.0K | -$120.0K |
YoY Change | -72.5% | -94.51% | 9.09% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | $0.00 | ||
YoY Change | |||
Cash From Financing Activities | 38.00K | $605.0K | 0.000 |
YoY Change | -78.74% | -100.0% | |
NET CHANGE | |||
Cash From Operating Activities | 470.0K | -$3.122M | 290.0K |
Cash From Investing Activities | -33.00K | -$227.0K | -120.0K |
Cash From Financing Activities | 38.00K | $605.0K | 0.000 |
Net Change In Cash | 475.0K | -$2.744M | 170.0K |
YoY Change | 179.41% | -184.25% | -122.08% |
FREE CASH FLOW | |||
Cash From Operating Activities | $470.0K | -$3.122M | $290.0K |
Capital Expenditures | -$33.00K | $227.0K | -$120.0K |
Free Cash Flow | $503.0K | -$3.349M | $410.0K |
YoY Change | 22.68% | -177.67% | -167.21% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-81000 | USD |
CY2021 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
29000 | USD |
CY2022Q1 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
10058571 | |
CY2021Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
87000 | USD |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
66000 | USD |
CY2021Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
20000000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
20000000 | |
CY2021Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2021Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10058571 | |
CY2021Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
10058571 | |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
9814118 | |
CY2020Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
9814118 | |
CY2021Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
389000 | USD |
CY2020Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
834000 | USD |
CY2021Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
70000 | USD |
CY2021 | us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
0 | USD |
CY2021Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
13053000 | USD |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
15797000 | USD |
CY2021Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
13523000 | USD |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
5669000 | USD |
CY2021Q4 | us-gaap |
Inventory Net
InventoryNet
|
11179000 | USD |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
8586000 | USD |
CY2021Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
2893000 | USD |
CY2020Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
813000 | USD |
CY2021Q4 | us-gaap |
Assets Current
AssetsCurrent
|
40648000 | USD |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
30865000 | USD |
CY2021Q4 | us-gaap |
Machinery And Equipment Gross
MachineryAndEquipmentGross
|
3986000 | USD |
CY2020Q4 | us-gaap |
Machinery And Equipment Gross
MachineryAndEquipmentGross
|
3819000 | USD |
CY2021Q4 | us-gaap |
Furniture And Fixtures Gross
FurnitureAndFixturesGross
|
1086000 | USD |
CY2020Q4 | us-gaap |
Furniture And Fixtures Gross
FurnitureAndFixturesGross
|
1073000 | USD |
CY2021Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
5072000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
4892000 | USD |
CY2021Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
4364000 | USD |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
4082000 | USD |
CY2021Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
708000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
810000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
1453000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
1421000 | USD |
CY2021Q4 | us-gaap |
Goodwill
Goodwill
|
2467000 | USD |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
2467000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
2739000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
3181000 | USD |
CY2021Q4 | us-gaap |
Indefinite Lived Intangible Assets Excluding Goodwill
IndefiniteLivedIntangibleAssetsExcludingGoodwill
|
1174000 | USD |
CY2020Q4 | us-gaap |
Indefinite Lived Intangible Assets Excluding Goodwill
IndefiniteLivedIntangibleAssetsExcludingGoodwill
|
1174000 | USD |
CY2020Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
70000 | USD |
CY2021Q4 | us-gaap |
Assets
Assets
|
49648000 | USD |
CY2020Q4 | us-gaap |
Assets
Assets
|
40822000 | USD |
CY2021Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
3504000 | USD |
CY2020Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1475000 | USD |
CY2021Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
5034000 | USD |
CY2020Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
2573000 | USD |
CY2021Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
0 | USD |
CY2020Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
1699000 | USD |
CY2021Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
0 | USD |
CY2020Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
43000 | USD |
CY2021Q4 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
832000 | USD |
CY2020Q4 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
874000 | USD |
CY2021Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
9370000 | USD |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
6664000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
675000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
635000 | USD |
CY2021Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
0 | USD |
CY2020Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
1089000 | USD |
CY2021Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
0 | USD |
CY2020Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
370000 | USD |
CY2021Q4 | us-gaap |
Liabilities
Liabilities
|
10045000 | USD |
CY2020Q4 | us-gaap |
Liabilities
Liabilities
|
8758000 | USD |
CY2021Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
101000 | USD |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
98000 | USD |
CY2021Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
24301000 | USD |
CY2020Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
22946000 | USD |
CY2021Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
15201000 | USD |
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
9020000 | USD |
CY2021Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
39603000 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
32064000 | USD |
CY2021Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
49648000 | USD |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
40822000 | USD |
CY2021 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
57424000 | USD |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
43044000 | USD |
CY2021 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
39656000 | USD |
CY2020 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
31478000 | USD |
CY2021 | us-gaap |
Gross Profit
GrossProfit
|
17768000 | USD |
CY2020 | us-gaap |
Gross Profit
GrossProfit
|
11566000 | USD |
CY2021 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
1479000 | USD |
CY2020 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
1989000 | USD |
CY2021 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
11874000 | USD |
CY2020 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
9980000 | USD |
CY2021 | us-gaap |
Operating Expenses
OperatingExpenses
|
13353000 | USD |
CY2020 | us-gaap |
Operating Expenses
OperatingExpenses
|
11969000 | USD |
CY2021 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
4415000 | USD |
CY2020 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-403000 | USD |
CY2021 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
2802000 | USD |
CY2020 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-45000 | USD |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
7217000 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-448000 | USD |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1036000 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-367000 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6181000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-81000 | USD |
CY2021 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.62 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.01 | |
CY2021 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.61 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.01 | |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9978683 | |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9678822 | |
CY2021 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10154239 | |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9678822 | |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
31533000 | USD |
CY2020 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
445000 | USD |
CY2020 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
473000 | USD |
CY2020 | us-gaap |
Stock Issued During Period Value New Issues
StockIssuedDuringPeriodValueNewIssues
|
82000 | USD |
CY2020 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
388000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-81000 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
32064000 | USD |
CY2021 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
605000 | USD |
CY2021 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
769000 | USD |
CY2021 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
16000 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6181000 | USD |
CY2021Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
39603000 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6181000 | USD |
CY2020 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
16000 | USD |
CY2021 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
770000 | USD |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1014000 | USD |
CY2021 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
769000 | USD |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
556000 | USD |
CY2021 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
445000 | USD |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-790000 | USD |
CY2021 | rfil |
Tax Payments Related To Shares Canceled For Vested Restricted Stock Awards
TaxPaymentsRelatedToSharesCanceledForVestedRestrictedStockAwards
|
16000 | USD |
CY2021 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
2807000 | USD |
CY2021 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
7882000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-6775000 | USD |
CY2021 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
2592000 | USD |
CY2020 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-442000 | USD |
CY2021 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
2079000 | USD |
CY2020 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
113000 | USD |
CY2021 | rfil |
Increase Decrease In Right Of Use Assets
IncreaseDecreaseInRightOfUseAssets
|
35000 | USD |
CY2020 | rfil |
Increase Decrease In Right Of Use Assets
IncreaseDecreaseInRightOfUseAssets
|
-88000 | USD |
CY2021 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
1000 | USD |
CY2020 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
2000 | USD |
CY2021 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
2030000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-1040000 | USD |
CY2021 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
2479000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-1374000 | USD |
CY2021 | us-gaap |
Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
-43000 | USD |
CY2020 | us-gaap |
Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
22000 | USD |
CY2021 | us-gaap |
Increase Decrease In Other Noncurrent Liabilities
IncreaseDecreaseInOtherNoncurrentLiabilities
|
-370000 | USD |
CY2020 | us-gaap |
Increase Decrease In Other Noncurrent Liabilities
IncreaseDecreaseInOtherNoncurrentLiabilities
|
-966000 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
-3122000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
4547000 | USD |
CY2021 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
227000 | USD |
CY2020 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
235000 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-227000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-4136000 | USD |
CY2021 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
605000 | USD |
CY2020 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
445000 | USD |
CY2020 | us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
388000 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
605000 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
2846000 | USD |
CY2021 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-2744000 | USD |
CY2020 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
3257000 | USD |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
15797000 | USD |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
12540000 | USD |
CY2021Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
13053000 | USD |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
15797000 | USD |
CY2021 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
949000 | USD |
CY2020 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
415000 | USD |
CY2020 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
0 | |
CY2021 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10154239 | |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9678822 | |
CY2021 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><b>Use of estimates</b> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;text-indent:36pt;">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (“GAAP”) requires management to make estimates and assumptions that affect certain reported amounts and disclosures. Actual results <em style="font: inherit;"> may </em>differ from those estimates.</p> | |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
2739000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
3181000 | USD |
CY2021 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
442000 | USD |
CY2020 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
692000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
374000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
364000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
364000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
320000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
320000 | USD |
CY2021 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.62 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.01 | |
CY2021 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.61 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.01 | |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
|
997000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
2739000 | USD |
CY2021 | us-gaap |
Advertising Expense
AdvertisingExpense
|
314000 | USD |
CY2020 | us-gaap |
Advertising Expense
AdvertisingExpense
|
295000 | USD |
CY2021 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
1479000 | USD |
CY2020 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
1989000 | USD |
CY2021 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
769000 | USD |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
556000 | USD |
CY2021 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
386364 | |
CY2020 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
402838 | |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6181000 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-81000 | USD |
CY2021 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9978683 | |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9678822 | |
CY2021 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
175556 | |
CY2020Q4 | us-gaap |
Prepaid Taxes
PrepaidTaxes
|
0 | USD |
CY2021Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
439000 | USD |
CY2020Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
393000 | USD |
CY2021Q4 | us-gaap |
Other Assets Miscellaneous Current
OtherAssetsMiscellaneousCurrent
|
366000 | USD |
CY2020Q4 | us-gaap |
Other Assets Miscellaneous Current
OtherAssetsMiscellaneousCurrent
|
420000 | USD |
CY2021Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
2893000 | USD |
CY2020Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
813000 | USD |
CY2021Q4 | us-gaap |
Cash Uninsured Amount
CashUninsuredAmount
|
12300000 | USD |
CY2021Q4 | us-gaap |
Inventory Raw Materials And Supplies Net Of Reserves
InventoryRawMaterialsAndSuppliesNetOfReserves
|
6422000 | USD |
CY2020Q4 | us-gaap |
Inventory Raw Materials And Supplies Net Of Reserves
InventoryRawMaterialsAndSuppliesNetOfReserves
|
4410000 | USD |
CY2021Q4 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
381000 | USD |
CY2020Q4 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
196000 | USD |
CY2021Q4 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
4376000 | USD |
CY2020Q4 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
3980000 | USD |
CY2021Q4 | us-gaap |
Inventory Net
InventoryNet
|
11179000 | USD |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
8586000 | USD |
CY2021Q4 | rfil |
Employee Retention Tax Credit Receivable
EmployeeRetentionTaxCreditReceivable
|
1774000 | USD |
CY2020Q4 | rfil |
Employee Retention Tax Credit Receivable
EmployeeRetentionTaxCreditReceivable
|
0 | USD |
CY2021Q4 | us-gaap |
Prepaid Taxes
PrepaidTaxes
|
314000 | USD |
CY2021Q4 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
2607000 | USD |
CY2020Q4 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
1506000 | USD |
CY2021Q4 | rfil |
Accrued Receipts Current
AccruedReceiptsCurrent
|
1711000 | USD |
CY2020Q4 | rfil |
Accrued Receipts Current
AccruedReceiptsCurrent
|
518000 | USD |
CY2021Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
716000 | USD |
CY2020Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
549000 | USD |
CY2021Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
5034000 | USD |
CY2020Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
2573000 | USD |
CY2021Q3 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
0 | USD |
CY2021Q2 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
0 | USD |
CY2021Q1 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
296000 | USD |
CY2020Q4 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
370000 | USD |
CY2019Q4 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
1249000 | USD |
CY2021Q4 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
0 | USD |
CY2021Q3 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
0 | USD |
CY2021Q2 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
-296000 | USD |
CY2021Q1 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
-74000 | USD |
CY2020 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
-879000 | USD |
CY2021Q4 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
0 | USD |
CY2021Q3 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
0 | USD |
CY2021Q2 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
0 | USD |
CY2021Q1 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
296000 | USD |
CY2020Q4 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
370000 | USD |
CY2021 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
57424000 | USD |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
43044000 | USD |
CY2021 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
57424000 | USD |
CY2021 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
57424000 | USD |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
7217000 | USD |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
7217000 | USD |
CY2021 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
770000 | USD |
CY2021 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
770000 | USD |
CY2021Q4 | us-gaap |
Assets
Assets
|
49648000 | USD |
CY2021Q4 | us-gaap |
Assets
Assets
|
49648000 | USD |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
43044000 | USD |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
43044000 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-448000 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-448000 | USD |
CY2020 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
1014000 | USD |
CY2020 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
1014000 | USD |
CY2020Q4 | us-gaap |
Assets
Assets
|
40822000 | USD |
CY2020Q4 | us-gaap |
Assets
Assets
|
40822000 | USD |
CY2021 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
401000 | USD |
CY2020 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
279000 | USD |
CY2021 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
189000 | USD |
CY2020 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
143000 | USD |
CY2021 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
590000 | USD |
CY2020 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
422000 | USD |
CY2021 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
323000 | USD |
CY2020 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-593000 | USD |
CY2021 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
123000 | USD |
CY2020 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-196000 | USD |
CY2021 | us-gaap |
Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
|
446000 | USD |
CY2020 | us-gaap |
Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
|
-789000 | USD |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1036000 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-367000 | USD |
CY2021 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
1516000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
-94000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.210 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
246000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.034 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
-41000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.092 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-86000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-0.012 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-123000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
|
0.275 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Tax Exempt Income
IncomeTaxReconciliationTaxExemptIncome
|
588000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Exempt Income
EffectiveIncomeTaxRateReconciliationTaxExemptIncome
|
-0.081 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Tax Exempt Income
IncomeTaxReconciliationTaxExemptIncome
|
-0 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Exempt Income
EffectiveIncomeTaxRateReconciliationTaxExemptIncome
|
0.000 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
|
1000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Meals And Entertainment
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
|
0.000 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
|
2000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Meals And Entertainment
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
|
-0.004 | pure |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Parking Disallowance Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseParkingDisallowanceAmount
|
4000 | USD |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Parking Disallowance Percentage
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseParkingDisallowancePercentage
|
0.001 | pure |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Parking Disallowance Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseParkingDisallowanceAmount
|
5000 | USD |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Parking Disallowance Percentage
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseParkingDisallowancePercentage
|
-0.011 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
|
51000 | USD |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Tax Credit Research And Development Percent
EffectiveIncomeTaxRateReconciliationTaxCreditResearchAndDevelopmentPercent
|
-0.007 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
|
152000 | USD |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Tax Credit Research And Development Percent
EffectiveIncomeTaxRateReconciliationTaxCreditResearchAndDevelopmentPercent
|
0.339 | pure |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Foreign Derived Intangible Income Amount
EffectiveIncomeTaxRateReconciliationForeignDerivedIntangibleIncomeAmount
|
15000 | USD |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Foreign Derived Intangible Income Percentage
EffectiveIncomeTaxRateReconciliationForeignDerivedIntangibleIncomePercentage
|
-0.002 | pure |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Foreign Derived Intangible Income Amount
EffectiveIncomeTaxRateReconciliationForeignDerivedIntangibleIncomeAmount
|
5000 | USD |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Foreign Derived Intangible Income Percentage
EffectiveIncomeTaxRateReconciliationForeignDerivedIntangibleIncomePercentage
|
0.011 | pure |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Asca74010 Liability Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseASCA74010LiabilityAmount
|
29000 | USD |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Asc74010 Liability Percent
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseASC74010LiabilityPercent
|
0.004 | pure |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Asca74010 Liability Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseASCA74010LiabilityAmount
|
27000 | USD |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Asc74010 Liability Percent
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseASC74010LiabilityPercent
|
-0.060 | pure |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Penallties Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpensePenalltiesAmount
|
0 | USD |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Penallties Percentage
EffectiveIncomeTaxRateReconciliationNondeductibleExpensePenalltiesPercentage
|
0.000 | pure |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Penallties Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpensePenalltiesAmount
|
11000 | USD |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Penallties Percentage
EffectiveIncomeTaxRateReconciliationNondeductibleExpensePenalltiesPercentage
|
-0.025 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
-20000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
|
-0.003 | pure |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
3000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
|
-0.007 | pure |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1036000 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.144 | pure |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-367000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.820 | pure |
CY2021Q4 | rfil |
Deferred Tax Asset Tax Deferred Expense Ppp Loan
DeferredTaxAssetTaxDeferredExpensePPPLoan
|
0 | USD |
CY2020Q4 | rfil |
Deferred Tax Asset Tax Deferred Expense Ppp Loan
DeferredTaxAssetTaxDeferredExpensePPPLoan
|
706000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
|
383000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
|
344000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
241000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
149000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
144000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
100000 | USD |
CY2021Q4 | rfil |
Deferred Tax Assets Uniform Capitalization
DeferredTaxAssetsUniformCapitalization
|
134000 | USD |
CY2020Q4 | rfil |
Deferred Tax Assets Uniform Capitalization
DeferredTaxAssetsUniformCapitalization
|
92000 | USD |
CY2021Q4 | rfil |
Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
|
366000 | USD |
CY2020Q4 | rfil |
Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
|
381000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
77000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
35000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
1345000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
1807000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
|
487000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
|
479000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
357000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
359000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
112000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
135000 | USD |
CY2021Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
956000 | USD |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
973000 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
389000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
834000 | USD |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1000000.0 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.144 | pure |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-400000 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.820 | pure |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | pure |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
107000 | USD |
CY2019Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
80000 | USD |
CY2021 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
44000 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
32000 | USD |
CY2021 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
1000 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
-0 | USD |
CY2021 | rfil |
Unrecognized Tax Benefits Increase Resulting From Interest Ad Penalties
UnrecognizedTaxBenefitsIncreaseResultingFromInterestAdPenalties
|
2000 | USD |
CY2020 | rfil |
Unrecognized Tax Benefits Increase Resulting From Interest Ad Penalties
UnrecognizedTaxBenefitsIncreaseResultingFromInterestAdPenalties
|
6000 | USD |
CY2021 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
11000 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
11000 | USD |
CY2021Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
141000 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
107000 | USD |
CY2021 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
|
13000 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
|
11000 | USD |
CY2021 | rfil |
Effective Income Tax Rate Reconciliation Cares Act Operating Loss Carryforwards Carried Back Amount
EffectiveIncomeTaxRateReconciliationCARESActOperatingLossCarryforwardsCarriedBackAmount
|
-35000 | USD |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
0.5234 | pure |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
0.5268 | pure |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0.0000 | pure |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0.0063 | pure |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
P7Y | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
P7Y | |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
0.0058 | pure |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
0.0158 | pure |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
3.38 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
3.06 | |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
|
3.41 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
|
2.38 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
789179 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
4.66 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
890147 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
3.62 | |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
|
117000 | |
CY2021 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
6.57 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
|
140241 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
6.40 | |
CY2021 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
195528 | |
CY2021 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
3.10 | |
CY2020 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
241209 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
1.85 | |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
91793 | |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
5.88 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
-0 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
0 | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
618858 | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
5.33 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
789179 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
4.66 | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
313381 | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
5.95 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
459513 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
4.48 | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
|
618522 | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
|
5.35 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
|
788143 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
|
4.67 | |
CY2021 | us-gaap |
Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Lower Range Limit
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
|
1.90 | |
CY2021 | us-gaap |
Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Upper Range Limit
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
|
8.69 | |
CY2020 | us-gaap |
Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Lower Range Limit
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
|
1.90 | |
CY2020 | us-gaap |
Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Upper Range Limit
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
|
8.69 | |
CY2021 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
642181 | USD |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
975638 | USD |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P6Y4M9D | |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P5Y7M2D | |
CY2021 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested And Expected To Vest Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
|
P6Y4M9D | |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
1544000 | USD |
CY2021Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
|
628000 | USD |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Aggregate Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
|
1533000 | USD |
CY2021 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
413000 | USD |
CY2020 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
394000 | USD |
CY2021 | us-gaap |
Defined Contribution Plan Employer Matching Contribution Percent
DefinedContributionPlanEmployerMatchingContributionPercent
|
0.03 | pure |
CY2020 | us-gaap |
Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
|
0.02 | |
CY2020 | us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
388000 | USD |
CY2021 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
1019000 | USD |
CY2021 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
1000 | USD |
CY2021 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
1453000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P25M7D | |
CY2021Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0354 | pure |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
891000 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
478000 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
234000 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
13000 | USD |
CY2021Q4 | rfil |
Lessee Operating Lease Liability To Be Paid After Year Four
LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
|
7000 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
1623000 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
116000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
1507000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
675000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
1507000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
1500000 | USD |
CY2021Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
1500000 | USD |
CY2021Q4 | us-gaap |
Finance Lease Liability
FinanceLeaseLiability
|
0 | USD |