2020 Q4 Form 10-K Financial Statement
#000143774920026051 Filed on December 29, 2020
Income Statement
Concept | 2020 Q4 | 2020 | 2019 Q4 |
---|---|---|---|
Revenue | $10.70M | $43.04M | $15.54M |
YoY Change | -31.15% | -22.2% | 328.1% |
Cost Of Revenue | $7.700M | $31.48M | $11.41M |
YoY Change | -32.52% | -20.69% | 409.38% |
Gross Profit | $3.000M | $11.57M | $4.130M |
YoY Change | -27.36% | -26.03% | 197.12% |
Gross Profit Margin | 28.04% | 26.87% | 26.58% |
Selling, General & Admin | $2.560M | $9.980M | $2.660M |
YoY Change | -3.76% | 2.78% | 518.6% |
% of Gross Profit | 85.33% | 86.29% | 64.41% |
Research & Development | $440.0K | $1.989M | $440.0K |
YoY Change | 0.0% | 35.49% | 91.3% |
% of Gross Profit | 14.67% | 17.2% | 10.65% |
Depreciation & Amortization | $250.0K | $1.014M | $140.0K |
YoY Change | 78.57% | 80.11% | 7.69% |
% of Gross Profit | 8.33% | 8.77% | 3.39% |
Operating Expenses | $2.990M | $11.97M | $3.100M |
YoY Change | -3.55% | 7.08% | 376.92% |
Operating Profit | $10.00K | -$403.0K | $1.030M |
YoY Change | -99.03% | -109.04% | 39.19% |
Interest Expense | |||
YoY Change | |||
% of Operating Profit | |||
Other Income/Expense, Net | -$60.00K | -$45.00K | $20.00K |
YoY Change | -400.0% | -145.92% | -33.33% |
Pretax Income | -$60.00K | -$448.0K | $1.060M |
YoY Change | -105.66% | -109.83% | 39.47% |
Income Tax | -$220.0K | -$400.0K | $280.0K |
% Of Pretax Income | 26.42% | ||
Net Earnings | $160.0K | -$81.00K | $780.0K |
YoY Change | -79.49% | -102.3% | 69.57% |
Net Earnings / Revenue | 1.5% | -0.19% | 5.02% |
Basic Earnings Per Share | -$0.01 | ||
Diluted Earnings Per Share | $16.44K | -$0.01 | $79.03K |
COMMON SHARES | |||
Basic Shares Outstanding | 9.848M | 9.679M | |
Diluted Shares Outstanding | 9.679M |
Balance Sheet
Concept | 2020 Q4 | 2020 | 2019 Q4 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $15.80M | $15.80M | $12.54M |
YoY Change | 26.0% | 26.0% | -23.21% |
Cash & Equivalents | $15.80M | $15.80M | $12.54M |
Short-Term Investments | |||
Other Short-Term Assets | $813.0K | $810.0K | $685.0K |
YoY Change | 18.69% | 17.39% | -17.27% |
Inventory | $8.586M | $8.590M | $8.245M |
Prepaid Expenses | $393.0K | $346.0K | |
Receivables | $5.669M | $5.670M | $12.19M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $30.87M | $30.87M | $33.66M |
YoY Change | -8.3% | -8.29% | 17.98% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $810.0K | $2.230M | $839.0K |
YoY Change | -3.46% | 165.48% | 50.09% |
Goodwill | $2.467M | $1.340M | |
YoY Change | 84.1% | 0.0% | |
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $70.00K | $900.0K | $68.00K |
YoY Change | 2.94% | 718.18% | 38.78% |
Total Long-Term Assets | $9.957M | $9.950M | $4.040M |
YoY Change | 146.46% | 146.29% | 1.71% |
TOTAL ASSETS | |||
Total Short-Term Assets | $30.87M | $30.87M | $33.66M |
Total Long-Term Assets | $9.957M | $9.950M | $4.040M |
Total Assets | $40.82M | $40.82M | $37.70M |
YoY Change | 8.28% | 8.28% | 15.99% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $1.475M | $1.480M | $2.406M |
YoY Change | -38.69% | -38.59% | 79.28% |
Accrued Expenses | $2.573M | $3.450M | $3.653M |
YoY Change | -29.56% | -5.48% | 8.17% |
Deferred Revenue | |||
YoY Change | |||
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | $1.699M | $1.700M | |
YoY Change | |||
Total Short-Term Liabilities | $6.664M | $6.660M | $6.080M |
YoY Change | 9.61% | 9.54% | 28.84% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $1.089M | $1.090M | |
YoY Change | |||
Other Long-Term Liabilities | $370.0K | $1.010M | $87.00K |
YoY Change | 325.29% | 1022.22% | |
Total Long-Term Liabilities | $1.459M | $2.100M | $87.00K |
YoY Change | 1577.01% | 2233.33% | |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $6.664M | $6.660M | $6.080M |
Total Long-Term Liabilities | $1.459M | $2.100M | $87.00K |
Total Liabilities | $8.758M | $8.760M | $6.167M |
YoY Change | 42.01% | 41.98% | 30.68% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $9.020M | $9.489M | |
YoY Change | -4.94% | 41.29% | |
Common Stock | $23.04M | $22.04M | |
YoY Change | 4.54% | 4.64% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $32.06M | $32.06M | $31.53M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $40.82M | $40.82M | $37.70M |
YoY Change | 8.28% | 8.28% | 15.99% |
Cashflow Statement
Concept | 2020 Q4 | 2020 | 2019 Q4 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $160.0K | -$81.00K | $780.0K |
YoY Change | -79.49% | -102.3% | 69.57% |
Depreciation, Depletion And Amortization | $250.0K | $1.014M | $140.0K |
YoY Change | 78.57% | 80.11% | 7.69% |
Cash From Operating Activities | $290.0K | $4.547M | -$720.0K |
YoY Change | -140.28% | -267.79% | -169.9% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$120.0K | $235.0K | -$110.0K |
YoY Change | 9.09% | -56.32% | -8.33% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $0.00 | -$3.900M | $0.00 |
YoY Change | 747.83% | -100.0% | |
Cash From Investing Activities | -$120.0K | -$4.136M | -$110.0K |
YoY Change | 9.09% | 315.26% | -102.89% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | 0.000 | $2.846M | 60.00K |
YoY Change | -100.0% | -3334.09% | -166.67% |
NET CHANGE | |||
Cash From Operating Activities | 290.0K | $4.547M | -720.0K |
Cash From Investing Activities | -120.0K | -$4.136M | -110.0K |
Cash From Financing Activities | 0.000 | $2.846M | 60.00K |
Net Change In Cash | 170.0K | $3.257M | -770.0K |
YoY Change | -122.08% | -185.85% | -116.21% |
FREE CASH FLOW | |||
Cash From Operating Activities | $290.0K | $4.547M | -$720.0K |
Capital Expenditures | -$120.0K | $235.0K | -$110.0K |
Free Cash Flow | $410.0K | $4.312M | -$610.0K |
YoY Change | -167.21% | -232.76% | -153.04% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2020 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2020 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--10-31 | |
CY2020 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2020 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2020 | |
CY2020 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2020-10-31 | |
CY2020 | dei |
Document Type
DocumentType
|
10-K | |
CY2020 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0000740664 | |
CY2020Q4 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
9848246 | |
CY2020 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | |
CY2020 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2020 | dei |
Entity Filer Category
EntityFilerCategory
|
Non-accelerated Filer | |
CY2020 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | |
CY2020Q2 | dei |
Entity Public Float
EntityPublicFloat
|
49400000 | |
CY2020 | dei |
Entity Registrant Name
EntityRegistrantName
|
R F INDUSTRIES LTD | |
CY2020 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2020 | dei |
Entity Small Business
EntitySmallBusiness
|
true | |
CY2020 | dei |
Entity Voluntary Filers
EntityVoluntaryFilers
|
No | |
CY2020 | dei |
Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
|
No | |
CY2020 | dei |
Security12b Title
Security12bTitle
|
Common Stock, $0.01 par value per share | |
CY2020 | dei |
Trading Symbol
TradingSymbol
|
rfil | |
CY2020Q4 | rfil |
Accrued Receipts Current
AccruedReceiptsCurrent
|
518000 | |
CY2019Q4 | rfil |
Accrued Receipts Current
AccruedReceiptsCurrent
|
1683000 | |
CY2019 | rfil |
Business Acquisition Weighted Average Shares Outstanding Basic
BusinessAcquisitionWeightedAverageSharesOutstandingBasic
|
9358836 | |
CY2019 | rfil |
Business Acquisition Weighted Average Shares Outstanding Diluted
BusinessAcquisitionWeightedAverageSharesOutstandingDiluted
|
9854604 | |
CY2020Q4 | rfil |
Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
|
381000 | |
CY2019Q4 | rfil |
Deferred Tax Assets Lease Liability
DeferredTaxAssetsLeaseLiability
|
||
CY2020Q4 | rfil |
Deferred Tax Assets Ppp Loan
DeferredTaxAssetsPppLoan
|
706000 | |
CY2019Q4 | rfil |
Deferred Tax Assets Ppp Loan
DeferredTaxAssetsPppLoan
|
||
CY2020Q4 | rfil |
Deferred Tax Assets Uniform Capitalization
DeferredTaxAssetsUniformCapitalization
|
92000 | |
CY2019Q4 | rfil |
Deferred Tax Assets Uniform Capitalization
DeferredTaxAssetsUniformCapitalization
|
64000 | |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Foreign Derived Intangible Income Amount
EffectiveIncomeTaxRateReconciliationForeignDerivedIntangibleIncomeAmount
|
5000 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Foreign Derived Intangible Income Amount
EffectiveIncomeTaxRateReconciliationForeignDerivedIntangibleIncomeAmount
|
||
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Foreign Derived Intangible Income Percentage
EffectiveIncomeTaxRateReconciliationForeignDerivedIntangibleIncomePercentage
|
0.011 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Foreign Derived Intangible Income Percentage
EffectiveIncomeTaxRateReconciliationForeignDerivedIntangibleIncomePercentage
|
0 | |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Asc74010 Liability Percent
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseASC74010LiabilityPercent
|
-0.06 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Asc74010 Liability Percent
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseASC74010LiabilityPercent
|
0.005 | |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Asca74010 Liability Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseASCA74010LiabilityAmount
|
27000 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Asca74010 Liability Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseASCA74010LiabilityAmount
|
21000 | |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Parking Disallowance Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseParkingDisallowanceAmount
|
5000 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Parking Disallowance Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseParkingDisallowanceAmount
|
||
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Parking Disallowance Percentage
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseParkingDisallowancePercentage
|
-0.011 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Parking Disallowance Percentage
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseParkingDisallowancePercentage
|
0 | |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Penallties Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpensePenalltiesAmount
|
11000 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Penallties Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpensePenalltiesAmount
|
||
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Penallties Percentage
EffectiveIncomeTaxRateReconciliationNondeductibleExpensePenalltiesPercentage
|
-0.025 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Nondeductible Expense Penallties Percentage
EffectiveIncomeTaxRateReconciliationNondeductibleExpensePenalltiesPercentage
|
0 | |
CY2020 | rfil |
Effective Income Tax Rate Reconciliation Tax Credit Research And Development Percent
EffectiveIncomeTaxRateReconciliationTaxCreditResearchAndDevelopmentPercent
|
0.339 | |
CY2019 | rfil |
Effective Income Tax Rate Reconciliation Tax Credit Research And Development Percent
EffectiveIncomeTaxRateReconciliationTaxCreditResearchAndDevelopmentPercent
|
-0.026 | |
CY2020Q4 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
-188000 | |
CY2020Q3 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
-311000 | |
CY2020Q2 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
-346000 | |
CY2020Q1 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
-34000 | |
CY2019 | rfil |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Liability Change In Value
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityChangeInValue
|
||
CY2020 | rfil |
Increase Decrease In Right Of Use Assets
IncreaseDecreaseInRightOfUseAssets
|
-88000 | |
CY2019 | rfil |
Increase Decrease In Right Of Use Assets
IncreaseDecreaseInRightOfUseAssets
|
||
CY2020Q4 | rfil |
Lessee Operating Lease Liability To Be Paid After Year Four
LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
|
||
CY2020 | rfil |
Unrecognized Tax Benefits Increase Resulting From Interest Ad Penalties
UnrecognizedTaxBenefitsIncreaseResultingFromInterestAdPenalties
|
6000 | |
CY2019 | rfil |
Unrecognized Tax Benefits Increase Resulting From Interest Ad Penalties
UnrecognizedTaxBenefitsIncreaseResultingFromInterestAdPenalties
|
2000 | |
CY2020Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1475000 | |
CY2019Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
2406000 | |
CY2019 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
124097 | |
CY2020Q4 | us-gaap |
Assets
Assets
|
40822000 | |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
5669000 | |
CY2019Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
12190000 | |
CY2020Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
43000 | |
CY2019Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
21000 | |
CY2020Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
2573000 | |
CY2019Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
3653000 | |
CY2020Q4 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
1506000 | |
CY2019Q4 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
1591000 | |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
4082000 | |
CY2019Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
3761000 | |
CY2020Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
22946000 | |
CY2019Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
21949000 | |
CY2019 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
317000 | |
CY2020 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
473000 | |
CY2020 | us-gaap |
Advertising Expense
AdvertisingExpense
|
295000 | |
CY2019 | us-gaap |
Advertising Expense
AdvertisingExpense
|
422000 | |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
66000 | |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
23000 | |
CY2020 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
692000 | |
CY2019 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
275000 | |
CY2020 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
402838 | |
CY2019Q4 | us-gaap |
Assets
Assets
|
37700000 | |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
30865000 | |
CY2019Q4 | us-gaap |
Assets Current
AssetsCurrent
|
33660000 | |
CY2019Q4 | us-gaap |
Assets Fair Value Disclosure
AssetsFairValueDisclosure
|
0 | |
CY2019 | us-gaap |
Business Acquisition Pro Forma Earnings Per Share Basic
BusinessAcquisitionProFormaEarningsPerShareBasic
|
0.51 | |
CY2019 | us-gaap |
Business Acquisition Pro Forma Earnings Per Share Diluted
BusinessAcquisitionProFormaEarningsPerShareDiluted
|
0.49 | |
CY2019 | us-gaap |
Business Acquisitions Pro Forma Net Income Loss
BusinessAcquisitionsProFormaNetIncomeLoss
|
4815000 | |
CY2019 | us-gaap |
Business Acquisitions Pro Forma Revenue
BusinessAcquisitionsProFormaRevenue
|
67096000 | |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
15797000 | |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
12540000 | |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
12540000 | |
CY2018Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
16334000 | |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
15797000 | |
CY2020 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
3257000 | |
CY2019 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-3794000 | |
CY2020Q4 | us-gaap |
Cash Uninsured Amount
CashUninsuredAmount
|
14200000 | |
CY2020Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2019Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2020 | us-gaap |
Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
|
0.02 | |
CY2019 | us-gaap |
Common Stock Dividends Per Share Cash Paid
CommonStockDividendsPerShareCashPaid
|
0.02 | |
CY2020Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2019Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
21250000 | |
CY2019Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
20000000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
9814118 | |
CY2019Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
9462267 | |
CY2020Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
9814118 | |
CY2019Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
9462267 | |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
98000 | |
CY2019Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
95000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
55000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
35000 | |
CY2020 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
31478000 | |
CY2019 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
39688000 | |
CY2020 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
279000 | |
CY2019 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
859000 | |
CY2020 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
422000 | |
CY2019 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
1079000 | |
CY2020 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
143000 | |
CY2019 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
220000 | |
CY2020 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-593000 | |
CY2019 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-25000 | |
CY2020 | us-gaap |
Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
|
-789000 | |
CY2019 | us-gaap |
Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
|
-43000 | |
CY2020Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
834000 | |
CY2019Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
44000 | |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-790000 | |
CY2019 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-43000 | |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
973000 | |
CY2019Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
431000 | |
CY2020 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-196000 | |
CY2019 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-18000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
834000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
44000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
1807000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
475000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
100000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
87000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
149000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
97000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
|
344000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
|
172000 | |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
|
479000 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
|
307000 | |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
359000 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
||
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
135000 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
124000 | |
CY2020 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
295000 | |
CY2019 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
181000 | |
CY2020 | us-gaap |
Defined Contribution Plan Employer Matching Contribution Percent
DefinedContributionPlanEmployerMatchingContributionPercent
|
0.03 | |
CY2020 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
1014000 | |
CY2019 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
563000 | |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1014000 | |
CY2019 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
563000 | |
CY2019 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
748000 | |
CY2020 | us-gaap |
Dividends Common Stock Cash
DividendsCommonStockCash
|
388000 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.01 | |
CY2019 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.38 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.01 | |
CY2019 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.36 | |
CY2020 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.819 | |
CY2019 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.227 | |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Meals And Entertainment
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
|
-0.004 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Meals And Entertainment
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
|
0.002 | |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
|
-0.007 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
|
-0.003 | |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
|
0.275 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
|
0.005 | |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.092 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.035 | |
CY2020Q3 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
558000 | |
CY2020Q2 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
869000 | |
CY2020Q1 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
1215000 | |
CY2019Q4 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
1249000 | |
CY2018Q4 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
||
CY2020Q4 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
370000 | |
CY2020Q3 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
558000 | |
CY2019Q4 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliations Recurring Basis Liability Value
FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
|
||
CY2020Q4 | us-gaap |
Finance Lease Liability
FinanceLeaseLiability
|
||
CY2019Q4 | us-gaap |
Financial Liabilities Fair Value Disclosure
FinancialLiabilitiesFairValueDisclosure
|
0 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
|
1316000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
443000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
320000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
364000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
364000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
374000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
3181000 | |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
1092000 | |
CY2020Q4 | us-gaap |
Furniture And Fixtures Gross
FurnitureAndFixturesGross
|
1073000 | |
CY2019Q4 | us-gaap |
Furniture And Fixtures Gross
FurnitureAndFixturesGross
|
998000 | |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
2467000 | |
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
1340000 | |
CY2020 | us-gaap |
Gross Profit
GrossProfit
|
11566000 | |
CY2019 | us-gaap |
Gross Profit
GrossProfit
|
15637000 | |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-448000 | |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
4557000 | |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
-448000 | |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
4557000 | |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-367000 | |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1036000 | |
CY2020 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
-94000 | |
CY2019 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
957000 | |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
|
2000 | |
CY2019 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
|
8000 | |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
3000 | |
CY2019 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
-12000 | |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
-123000 | |
CY2019 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
|
21000 | |
CY2020 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
-41000 | |
CY2019 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
160000 | |
CY2020 | us-gaap |
Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
|
152000 | |
CY2019 | us-gaap |
Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
|
119000 | |
CY2020 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
415000 | |
CY2019 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
739000 | |
CY2020 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-1040000 | |
CY2019 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
106000 | |
CY2020 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-6775000 | |
CY2019 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
6640000 | |
CY2020 | us-gaap |
Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
22000 | |
CY2019 | us-gaap |
Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
21000 | |
CY2020 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-1374000 | |
CY2019 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-211000 | |
CY2020 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-442000 | |
CY2019 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
657000 | |
CY2020 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
113000 | |
CY2019 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
-218000 | |
CY2020 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
2000 | |
CY2019 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
1000 | |
CY2020 | us-gaap |
Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
|
-966000 | |
CY2019 | us-gaap |
Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
|
75000 | |
CY2020 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
||
CY2019 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
495768 | |
CY2020Q4 | us-gaap |
Indefinite Lived Intangible Assets Excluding Goodwill
IndefiniteLivedIntangibleAssetsExcludingGoodwill
|
1174000 | |
CY2019Q4 | us-gaap |
Indefinite Lived Intangible Assets Excluding Goodwill
IndefiniteLivedIntangibleAssetsExcludingGoodwill
|
657000 | |
CY2020Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
3980000 | |
CY2019Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
3878000 | |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
8586000 | |
CY2019Q4 | us-gaap |
Inventory Net
InventoryNet
|
8245000 | |
CY2020Q4 | us-gaap |
Inventory Raw Materials And Supplies
InventoryRawMaterialsAndSupplies
|
4410000 | |
CY2019Q4 | us-gaap |
Inventory Raw Materials And Supplies
InventoryRawMaterialsAndSupplies
|
3576000 | |
CY2020Q4 | us-gaap |
Inventory Work In Process
InventoryWorkInProcess
|
196000 | |
CY2019Q4 | us-gaap |
Inventory Work In Process
InventoryWorkInProcess
|
791000 | |
CY2019Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
||
CY2020Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
1421000 | |
CY2019Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
||
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
1618000 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
920000 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
||
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
166000 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
532000 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
109000 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Renewal Term
LesseeOperatingLeaseRenewalTerm
|
P5Y | |
CY2020Q4 | us-gaap |
Liabilities
Liabilities
|
8758000 | |
CY2019Q4 | us-gaap |
Liabilities
Liabilities
|
6167000 | |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
40822000 | |
CY2019Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
37700000 | |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
6664000 | |
CY2019Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
6080000 | |
CY2020Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
1699000 | |
CY2019Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
||
CY2020Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
1089000 | |
CY2019Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
||
CY2020Q4 | us-gaap |
Machinery And Equipment Gross
MachineryAndEquipmentGross
|
3819000 | |
CY2019Q4 | us-gaap |
Machinery And Equipment Gross
MachineryAndEquipmentGross
|
3602000 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
2846000 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-88000 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-4136000 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-996000 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
4547000 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
-2710000 | |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-81000 | |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3521000 | |
CY2020 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-45000 | |
CY2019 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
98000 | |
CY2020 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
2 | |
CY2020 | us-gaap |
Operating Expenses
OperatingExpenses
|
11969000 | |
CY2019 | us-gaap |
Operating Expenses
OperatingExpenses
|
11178000 | |
CY2020 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-403000 | |
CY2019 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
4459000 | |
CY2020 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
1001000 | |
CY2020Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
1509000 | |
CY2020Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
635000 | |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0354 | |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P1Y328D | |
CY2020Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
549000 | |
CY2019Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
379000 | |
CY2020Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
813000 | |
CY2019Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
685000 | |
CY2020Q4 | us-gaap |
Other Assets Miscellaneous Current
OtherAssetsMiscellaneousCurrent
|
420000 | |
CY2019Q4 | us-gaap |
Other Assets Miscellaneous Current
OtherAssetsMiscellaneousCurrent
|
339000 | |
CY2020Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
70000 | |
CY2019Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
68000 | |
CY2020Q4 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
874000 | |
CY2019Q4 | us-gaap |
Other Liabilities Current
OtherLiabilitiesCurrent
|
||
CY2020Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
370000 | |
CY2019Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
87000 | |
CY2020 | us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
388000 | |
CY2019 | us-gaap |
Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
|
748000 | |
CY2020 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
235000 | |
CY2019 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
538000 | |
CY2020Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
393000 | |
CY2019Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
346000 | |
CY2020 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
2789000 | |
CY2019 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
||
CY2020 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
445000 | |
CY2019 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
660000 | |
CY2020Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
4892000 | |
CY2019Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
4600000 | |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
810000 | |
CY2019Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
839000 | |
CY2020 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
16000 | |
CY2019 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
21000 | |
CY2020 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
1989000 | |
CY2019 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
1468000 | |
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
9020000 | |
CY2019Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
9489000 | |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
43044000 | |
CY2019 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
55325000 | |
CY2020 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
1421000 | |
CY2020 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
9980000 | |
CY2019 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
9710000 | |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
556000 | |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
317000 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0.0063 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0.0098 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
0.5268 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
0.5542 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
0.0158 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
0.0286 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
459513 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
599981 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
4.48 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
3.25 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
975638 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
317827 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
||
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
5250 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
||
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
6.82 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
|
140241 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
|
124097 | |
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 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
3.98 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
643000 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
890147 | |
CY2018Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
942366 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
789179 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
3.62 | |
CY2018Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
3.09 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
4.66 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Aggregate Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
|
639000 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
|
788143 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
|
889088 | |
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 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
|
3.63 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
1.85 | |
CY2019 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
3.86 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
6.40 | |
CY2019 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
8.16 | |
CY2020 | us-gaap |
Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Lower Range Limit
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
|
1.90 | |
CY2019 | 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 | |
CY2019 | us-gaap |
Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Upper Range Limit
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
|
8.69 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
P7Y | |
CY2019 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
P5Y328D | |
CY2020Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
|
387000 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P2Y211D | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P4Y266D | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested And Expected To Vest Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1
|
P4Y262D | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
|
2.38 | |
CY2019 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
|
2.56 | |
CY2020 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
1000 | |
CY2020 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
241209 | |
CY2019 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
171066 | |
CY2020 | us-gaap |
Stock Issued During Period Value New Issues
StockIssuedDuringPeriodValueNewIssues
|
82000 | |
CY2020 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
||
CY2019 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
660000 | |
CY2020 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
445000 | |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
32064000 | |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
31533000 | |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
27783000 | |
CY2019Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
80000 | |
CY2018Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
59000 | |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
107000 | |
CY2020 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
|
11000 | |
CY2019 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
|
8000 | |
CY2020 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
32000 | |
CY2019 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
23000 | |
CY2020 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
|
||
CY2019 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
|
3000 | |
CY2020 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
11000 | |
CY2019 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
7000 | |
CY2020 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><div style="display: inline; font-weight: bold;">Use of estimates </div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><div style="display: inline; font-weight: bold;"> </div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect certain reported amounts and disclosures. Actual results <div style="display: inline; font-style: italic; font: inherit;"> may </div>differ from those estimates.</div></div></div></div></div> | |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9678822 | |
CY2019 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9854604 | |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9678822 | |
CY2019 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9358836 |