2021 Q4 Form 10-K Financial Statement
#000143774921028951 Filed on December 20, 2021
Income Statement
Concept | 2021 Q4 | 2021 Q3 | 2021 |
---|---|---|---|
Revenue | $15.88M | $15.63M | $59.14M |
YoY Change | 14.38% | 14.63% | 6.98% |
Cost Of Revenue | $10.84M | $11.54M | $42.86M |
YoY Change | 10.57% | 13.55% | 4.06% |
Gross Profit | $5.055M | $4.090M | $16.27M |
YoY Change | 19.98% | 17.8% | 15.53% |
Gross Profit Margin | 31.83% | 26.16% | 27.52% |
Selling, General & Admin | $4.811M | $4.531M | $18.24M |
YoY Change | 11.58% | -0.64% | -5.23% |
% of Gross Profit | 95.17% | 110.77% | 112.07% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $292.3K | $273.5K | $1.207M |
YoY Change | -16.48% | -8.84% | -15.44% |
% of Gross Profit | 5.78% | 6.69% | 7.41% |
Operating Expenses | $4.811M | $4.531M | $18.24M |
YoY Change | 11.58% | -0.64% | -5.23% |
Operating Profit | $244.2K | -$456.9K | -$1.973M |
YoY Change | -347.67% | -64.63% | -64.34% |
Interest Expense | -$160.3K | $175.1K | $690.4K |
YoY Change | -5.71% | 29.03% | 21.16% |
% of Operating Profit | -65.66% | ||
Other Income/Expense, Net | $4.974M | $5.833M | $8.564M |
YoY Change | -4352.97% | -1602.13% | |
Pretax Income | -$3.876K | $5.377M | $6.591M |
YoY Change | -99.04% | -476.29% | -207.99% |
Income Tax | $2.050K | $3.768K | -$19.90K |
% Of Pretax Income | 0.07% | -0.3% | |
Net Earnings | -$5.930K | $5.373M | $6.611M |
YoY Change | -98.54% | -474.71% | -207.99% |
Net Earnings / Revenue | -0.04% | 34.36% | 11.18% |
Basic Earnings Per Share | $0.00 | $0.71 | $0.87 |
Diluted Earnings Per Share | -$767.10 | $711.8K | $871.2K |
COMMON SHARES | |||
Basic Shares Outstanding | 7.566M | 7.588M | |
Diluted Shares Outstanding |
Balance Sheet
Concept | 2021 Q4 | 2021 Q3 | 2021 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $132.3K | $121.2K | $132.3K |
YoY Change | -5.54% | -87.88% | -5.54% |
Cash & Equivalents | $132.2K | $121.2K | |
Short-Term Investments | |||
Other Short-Term Assets | $549.4K | $317.2K | $549.4K |
YoY Change | 16.88% | 21.99% | 16.88% |
Inventory | $16.30M | $15.74M | $16.30M |
Prepaid Expenses | |||
Receivables | $8.376M | $9.111M | $8.376M |
Other Receivables | $2.204M | $3.646M | $2.204M |
Total Short-Term Assets | $27.57M | $28.93M | $27.57M |
YoY Change | 8.86% | 14.36% | 8.87% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $7.913M | $8.155M | $8.941M |
YoY Change | -10.2% | -10.03% | -11.29% |
Goodwill | |||
YoY Change | |||
Intangibles | $646.9K | $654.2K | |
YoY Change | -2.83% | -1.56% | |
Long-Term Investments | |||
YoY Change | |||
Other Assets | $1.791M | $1.683M | $762.3K |
YoY Change | 1.9% | -10.75% | 55.58% |
Total Long-Term Assets | $10.35M | $10.49M | $10.35M |
YoY Change | -7.87% | -9.67% | -7.91% |
TOTAL ASSETS | |||
Total Short-Term Assets | $27.57M | $28.93M | $27.57M |
Total Long-Term Assets | $10.35M | $10.49M | $10.35M |
Total Assets | $37.92M | $39.42M | $37.92M |
YoY Change | 3.72% | 6.8% | 3.71% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $3.890M | $3.271M | $3.890M |
YoY Change | 53.77% | 9.76% | 53.77% |
Accrued Expenses | $1.939M | $1.883M | $1.939M |
YoY Change | 7.74% | 3.48% | 7.74% |
Deferred Revenue | |||
YoY Change | |||
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | $324.8K | $321.6K | $324.8K |
YoY Change | 4.08% | 4.08% | -83.17% |
Total Short-Term Liabilities | $6.168M | $5.484M | $6.168M |
YoY Change | -1.57% | -27.75% | -1.63% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $4.529M | $4.611M | $7.995M |
YoY Change | -6.69% | -6.52% | -39.48% |
Other Long-Term Liabilities | $1.548M | $1.605M | $1.548M |
YoY Change | -15.09% | -4.14% | -14.92% |
Total Long-Term Liabilities | $6.077M | $6.216M | $9.543M |
YoY Change | -8.99% | -5.92% | -36.51% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $6.168M | $5.484M | $6.168M |
Total Long-Term Liabilities | $6.077M | $6.216M | $9.543M |
Total Liabilities | $15.71M | $17.33M | $15.71M |
YoY Change | -26.23% | -18.59% | -26.24% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $7.868M | $7.874M | |
YoY Change | 525.57% | 373.18% | |
Common Stock | $14.34M | $14.22M | |
YoY Change | 2.4% | 1.85% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $22.21M | $22.09M | $22.21M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $37.92M | $39.42M | $37.92M |
YoY Change | 3.72% | 6.8% | 3.71% |
Cashflow Statement
Concept | 2021 Q4 | 2021 Q3 | 2021 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | -$5.930K | $5.373M | $6.611M |
YoY Change | -98.54% | -474.71% | -207.99% |
Depreciation, Depletion And Amortization | $292.3K | $273.5K | $1.207M |
YoY Change | -16.48% | -8.84% | -15.44% |
Cash From Operating Activities | $2.327M | $181.8K | $2.117M |
YoY Change | -309.61% | -111.22% | -159.57% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$41.77K | -$46.16K | $166.2K |
YoY Change | 4.42% | 53.87% | 38.52% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | |||
YoY Change | |||
Cash From Investing Activities | -$41.77K | -$46.16K | -$192.9K |
YoY Change | 4.42% | 53.87% | 14.49% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $0.00 | ||
YoY Change | |||
Debt Paid & Issued, Net | $312.1K | ||
YoY Change | -58.0% | ||
Cash From Financing Activities | -2.274M | -375.4K | -$1.932M |
YoY Change | -857.96% | -77.25% | -158.11% |
NET CHANGE | |||
Cash From Operating Activities | 2.327M | 181.8K | $2.117M |
Cash From Investing Activities | -41.77K | -46.16K | -$192.9K |
Cash From Financing Activities | -2.274M | -375.4K | -$1.932M |
Net Change In Cash | 11.04K | -239.7K | -$8.590K |
YoY Change | -101.3% | -92.74% | -97.83% |
FREE CASH FLOW | |||
Cash From Operating Activities | $2.327M | $181.8K | $2.117M |
Capital Expenditures | -$41.77K | -$46.16K | $166.2K |
Free Cash Flow | $2.368M | $228.0K | $1.950M |
YoY Change | -321.35% | -114.34% | -153.1% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2020Q4 | us-gaap |
Common Stock No Par Value
CommonStockNoParValue
|
0 | |
CY2021Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
50000000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
50000000 | |
CY2021Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
7897477 | |
CY2021Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
7897477 | |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
7537087 | |
CY2021Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
61527 | USD |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
524617 | USD |
CY2021Q4 | us-gaap |
Preferred Stock No Par Value
PreferredStockNoParValue
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock No Par Value
PreferredStockNoParValue
|
0 | |
CY2021Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
1000000 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
1000000 | |
CY2021Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2021Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2021Q4 | us-gaap |
Common Stock No Par Value
CommonStockNoParValue
|
0 | |
CY2020Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
7537087 | |
CY2021Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2020Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2021Q4 | us-gaap |
Cash Uninsured Amount
CashUninsuredAmount
|
0 | USD |
CY2020Q4 | us-gaap |
Cash Uninsured Amount
CashUninsuredAmount
|
0 | USD |
CY2021 | us-gaap |
Open Tax Year
OpenTaxYear
|
2018 2019 2020 | |
CY2021Q4 | us-gaap |
Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
|
0 | USD |
CY2020Q4 | us-gaap |
Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
|
0 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
45000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
45000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
45000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
45000 | USD |
us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | pure | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | pure |
CY2011Q4 | occ |
Common Stock Dividends Rights Per Share
CommonStockDividendsRightsPerShare
|
1 | |
CY2021Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
132249 | USD |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
140839 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued
|
0 | USD |
CY2021Q4 | us-gaap |
Decrease In Unrecognized Tax Benefits Is Reasonably Possible
DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible
|
0 | USD |
CY2021Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
8376000 | USD |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
7561334 | USD |
CY2021Q4 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
0 | USD |
CY2020Q4 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
25003 | USD |
CY2021Q4 | us-gaap |
Other Receivables
OtherReceivables
|
2204456 | USD |
CY2020Q4 | us-gaap |
Other Receivables
OtherReceivables
|
23145 | USD |
CY2021Q4 | us-gaap |
Inventory Net
InventoryNet
|
16303808 | USD |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
17099767 | USD |
CY2021Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
549350 | USD |
CY2020Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
472516 | USD |
CY2021Q4 | us-gaap |
Assets Current
AssetsCurrent
|
27565863 | USD |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
25322604 | USD |
CY2021Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
7912851 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
8811863 | USD |
CY2021Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
646860 | USD |
CY2020Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
665731 | USD |
CY2021Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
1790956 | USD |
CY2020Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
1757614 | USD |
CY2021Q4 | us-gaap |
Assets
Assets
|
37916530 | USD |
CY2020Q4 | us-gaap |
Assets
Assets
|
36557812 | USD |
CY2021Q4 | us-gaap |
Loans Payable Current
LoansPayableCurrent
|
324840 | USD |
CY2020Q4 | us-gaap |
Loans Payable Current
LoansPayableCurrent
|
312109 | USD |
CY2021Q4 | us-gaap |
Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
|
4275880 | USD |
CY2020Q4 | us-gaap |
Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
|
2861343 | USD |
CY2021Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
1553771 | USD |
CY2020Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
1463307 | USD |
CY2021Q4 | us-gaap |
Taxes Payable Current
TaxesPayableCurrent
|
13121 | USD |
CY2020Q4 | us-gaap |
Taxes Payable Current
TaxesPayableCurrent
|
13986 | USD |
CY2021Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
6167612 | USD |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
6266149 | USD |
CY2021Q4 | us-gaap |
Long Term Line Of Credit
LongTermLineOfCredit
|
3465908 | USD |
CY2020Q4 | us-gaap |
Long Term Line Of Credit
LongTermLineOfCredit
|
4988660 | USD |
CY2021Q4 | us-gaap |
Long Term Loans Payable
LongTermLoansPayable
|
4528611 | USD |
CY2020Q4 | us-gaap |
Long Term Loans Payable
LongTermLoansPayable
|
4853457 | USD |
CY2021Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
1548446 | USD |
CY2020Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
1823632 | USD |
CY2021Q4 | us-gaap |
Liabilities
Liabilities
|
15710577 | USD |
CY2020Q4 | us-gaap |
Liabilities
Liabilities
|
21297894 | USD |
CY2021Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | USD |
CY2020Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | USD |
CY2021Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
14337649 | USD |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
14002130 | USD |
CY2021Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
7868304 | USD |
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
1257788 | USD |
CY2021Q4 | us-gaap |
Stockholders Equity Including Portion Attributable To Noncontrolling Interest
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
|
22205953 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity Including Portion Attributable To Noncontrolling Interest
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
|
15259918 | USD |
CY2021Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
37916530 | USD |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
36557812 | USD |
CY2021 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
59136294 | USD |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
55277400 | USD |
CY2019 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
71324446 | USD |
CY2021 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
42862215 | USD |
CY2020 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
41191022 | USD |
CY2019 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
53019699 | USD |
CY2021 | us-gaap |
Gross Profit
GrossProfit
|
16274079 | USD |
CY2020 | us-gaap |
Gross Profit
GrossProfit
|
14086378 | USD |
CY2019 | us-gaap |
Gross Profit
GrossProfit
|
18304747 | USD |
CY2021 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
18239152 | USD |
CY2020 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
19245502 | USD |
CY2019 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
23434360 | USD |
CY2021 | occ |
Royalty Revenue Expense
RoyaltyRevenueExpense
|
37261 | USD |
CY2020 | occ |
Royalty Revenue Expense
RoyaltyRevenueExpense
|
-331934 | USD |
CY2019 | occ |
Royalty Revenue Expense
RoyaltyRevenueExpense
|
6510 | USD |
CY2021 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
45511 | USD |
CY2020 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
42006 | USD |
CY2019 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
38598 | USD |
CY2021 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-1973323 | USD |
CY2020 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-5533064 | USD |
CY2019 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-5161701 | USD |
CY2021 | us-gaap |
Interest Expense
InterestExpense
|
690384 | USD |
CY2020 | us-gaap |
Interest Expense
InterestExpense
|
569812 | USD |
CY2019 | us-gaap |
Interest Expense
InterestExpense
|
521142 | USD |
CY2021 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
9254325 | USD |
CY2020 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-307 | USD |
CY2019 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
7717 | USD |
CY2021 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
8563941 | USD |
CY2020 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-570119 | USD |
CY2019 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-513425 | USD |
CY2021 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
6590618 | USD |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-6103183 | USD |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-5675126 | USD |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-19898 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
18041 | USD |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-5805 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6610516 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-6121224 | USD |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-5669321 | USD |
CY2021 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
0.87 | |
CY2020 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.83 | |
CY2019 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.77 | |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
26810837 | USD |
CY2019 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
37194 | USD |
CY2019 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
1573 | USD |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-5669321 | USD |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
21238900 | USD |
CY2020 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
142242 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-6121224 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
15259918 | USD |
CY2021 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
335519 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6610516 | USD |
CY2021Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
22205953 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6610516 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-6121224 | USD |
CY2021 | us-gaap |
Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
-865 | USD |
CY2020 | us-gaap |
Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
-1396 | USD |
CY2019 | us-gaap |
Increase Decrease In Accrued Income Taxes Payable
IncreaseDecreaseInAccruedIncomeTaxesPayable
|
-6284 | USD |
CY2021 | us-gaap |
Increase Decrease In Other Noncurrent Liabilities
IncreaseDecreaseInOtherNoncurrentLiabilities
|
-350153 | USD |
CY2020 | us-gaap |
Increase Decrease In Other Noncurrent Liabilities
IncreaseDecreaseInOtherNoncurrentLiabilities
|
652761 | USD |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-5669321 | USD |
CY2021 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1206706 | USD |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1427067 | USD |
CY2019 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1720562 | USD |
CY2021 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
10750 | USD |
CY2020 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
425055 | USD |
CY2019 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
60381 | USD |
CY2021 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
335519 | USD |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
142242 | USD |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
980549 | USD |
CY2021 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
4981400 | USD |
CY2020 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-0 | USD |
CY2019 | us-gaap |
Gains Losses On Extinguishment Of Debt
GainsLossesOnExtinguishmentOfDebt
|
-0 | USD |
CY2021 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-30463 | USD |
CY2020 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-10538 | USD |
CY2019 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-2058 | USD |
CY2021 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
825416 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-2361208 | USD |
CY2019 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-2424912 | USD |
CY2021 | us-gaap |
Increase Decrease In Other Receivables
IncreaseDecreaseInOtherReceivables
|
2181311 | USD |
CY2020 | us-gaap |
Increase Decrease In Other Receivables
IncreaseDecreaseInOtherReceivables
|
-46582 | USD |
CY2019 | us-gaap |
Increase Decrease In Other Receivables
IncreaseDecreaseInOtherReceivables
|
7776 | USD |
CY2021 | us-gaap |
Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
|
-25003 | USD |
CY2020 | us-gaap |
Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
|
-25004 | USD |
CY2019 | us-gaap |
Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
|
726 | USD |
CY2021 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-795959 | USD |
CY2020 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-995860 | USD |
CY2019 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
620872 | USD |
CY2021 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
76834 | USD |
CY2020 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
167803 | USD |
CY2019 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-243778 | USD |
CY2021 | us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
-70081 | USD |
CY2020 | us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
8180 | USD |
CY2019 | us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
-21473 | USD |
CY2021 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
1357106 | USD |
CY2020 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
-3040820 | USD |
CY2019 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
2323012 | USD |
CY2021 | us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
90464 | USD |
CY2020 | us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
-300031 | USD |
CY2019 | us-gaap |
Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
|
-1725732 | USD |
CY2019 | us-gaap |
Increase Decrease In Other Noncurrent Liabilities
IncreaseDecreaseInOtherNoncurrentLiabilities
|
-29811 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
2116588 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
-3553137 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
-283797 | USD |
CY2021 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
166227 | USD |
CY2020 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
120001 | USD |
CY2019 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
487554 | USD |
CY2021 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
26640 | USD |
CY2020 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
48457 | USD |
CY2019 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
62843 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-192867 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-168458 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-550397 | USD |
CY2021 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
-0 | USD |
CY2020 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
-0 | USD |
CY2019 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
943355 | USD |
CY2021 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
312115 | USD |
CY2020 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
743057 | USD |
CY2019 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
510961 | USD |
CY2021 | us-gaap |
Payments Of Financing Costs
PaymentsOfFinancingCosts
|
91667 | USD |
CY2020 | us-gaap |
Payments Of Financing Costs
PaymentsOfFinancingCosts
|
251899 | USD |
CY2019 | us-gaap |
Payments Of Financing Costs
PaymentsOfFinancingCosts
|
-0 | USD |
CY2021 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
5777 | USD |
CY2020 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
-0 | USD |
CY2019 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
-0 | USD |
CY2021 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
-0 | USD |
CY2020 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
-0 | USD |
CY2019 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
1573 | USD |
CY2021 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-1932311 | USD |
CY2020 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
3325104 | USD |
CY2019 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
1194111 | USD |
CY2021 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-8590 | USD |
CY2020 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-396491 | USD |
CY2019 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
359917 | USD |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
140839 | USD |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
537330 | USD |
CY2018Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
177413 | USD |
CY2021Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
132249 | USD |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
140839 | USD |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
537330 | USD |
CY2021 | us-gaap |
Interest Paid Net
InterestPaidNet
|
492547 | USD |
CY2020 | us-gaap |
Interest Paid Net
InterestPaidNet
|
523292 | USD |
CY2019 | us-gaap |
Interest Paid Net
InterestPaidNet
|
515995 | USD |
CY2021 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
-10656 | USD |
CY2020 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
-9703 | USD |
CY2019 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
30483 | USD |
CY2021 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
33842 | USD |
CY2020 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
10482 | USD |
CY2019 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
0 | USD |
CY2019 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
60381 | USD |
CY2021 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
473840 | USD |
CY2020 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
-0 | USD |
CY2019 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
25061 | USD |
CY2021Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
61527 | USD |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
524617 | USD |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
99562 | USD |
CY2021 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"/> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 27pt;"> </td><td style="width: 27pt;"> <p style="margin: 0pt; text-align: justify; font-family: "Times New Roman"; font-size: 10pt;"><b><i>(q) </i></b></p> </td><td style="width: auto;"> <p style="margin: 0pt; text-align: justify; font-family: "Times New Roman"; font-size: 10pt;"><b><i>Use of Estimates</i></b></p> </td></tr> </tbody></table> <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;text-align:justify;margin:0pt 0pt 0pt 54pt;">The preparation of financial statements in conformity with U.S. generally accepted accounting principles requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</p> | |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
524617 | USD |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
99562 | USD |
CY2018Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
64242 | USD |
CY2021 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
10750 | USD |
CY2020 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
425055 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
39992706 | USD |
CY2021Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
31829789 | USD |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
31180843 | USD |
CY2021Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
7912851 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
8811863 | USD |
CY2021Q4 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
4211098 | USD |
CY2020Q4 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
4663978 | USD |
CY2021Q4 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
4023693 | USD |
CY2020Q4 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
4165289 | USD |
CY2021Q4 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
7763325 | USD |
CY2020Q4 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
8010794 | USD |
CY2021Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
39742640 | USD |
CY2021Q4 | us-gaap |
Inventory Supplies Net Of Reserves
InventorySuppliesNetOfReserves
|
305692 | USD |
CY2020Q4 | us-gaap |
Inventory Supplies Net Of Reserves
InventorySuppliesNetOfReserves
|
259706 | USD |
CY2021Q4 | us-gaap |
Inventory Net
InventoryNet
|
16303808 | USD |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
17099767 | USD |
CY2021 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
45511 | USD |
CY2020 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
42006 | USD |
CY2019 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
38598 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
45000 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
763718 | USD |
CY2021Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
222910 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
693435 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
177399 | USD |
CY2021 | us-gaap |
Product Warranty Expense
ProductWarrantyExpense
|
55592 | USD |
CY2020 | us-gaap |
Product Warranty Expense
ProductWarrantyExpense
|
67150 | USD |
CY2019 | us-gaap |
Product Warranty Expense
ProductWarrantyExpense
|
158426 | USD |
CY2021 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
407235 | USD |
CY2020 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
396066 | USD |
CY2019 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
403097 | USD |
CY2021Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P35M3D | |
CY2021Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.050 | pure |
CY2021 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
407338 | USD |
CY2020Q4 | us-gaap |
Product Warranty Accrual
ProductWarrantyAccrual
|
85000 | USD |
CY2019Q4 | us-gaap |
Product Warranty Accrual
ProductWarrantyAccrual
|
120000 | USD |
CY2021 | us-gaap |
Product Warranty Accrual Warranties Issued
ProductWarrantyAccrualWarrantiesIssued
|
74555 | USD |
CY2020 | us-gaap |
Product Warranty Accrual Warranties Issued
ProductWarrantyAccrualWarrantiesIssued
|
140847 | USD |
CY2021 | us-gaap |
Product Warranty Accrual Payments
ProductWarrantyAccrualPayments
|
65592 | USD |
CY2020 | us-gaap |
Product Warranty Accrual Payments
ProductWarrantyAccrualPayments
|
102150 | USD |
CY2021 | us-gaap |
Product Warranty Accrual Preexisting Increase Decrease
ProductWarrantyAccrualPreexistingIncreaseDecrease
|
-18963 | USD |
CY2020 | us-gaap |
Product Warranty Accrual Preexisting Increase Decrease
ProductWarrantyAccrualPreexistingIncreaseDecrease
|
-73697 | USD |
CY2021Q4 | us-gaap |
Product Warranty Accrual
ProductWarrantyAccrual
|
75000 | USD |
CY2020Q4 | us-gaap |
Product Warranty Accrual
ProductWarrantyAccrual
|
85000 | USD |
CY2021Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
4853451 | USD |
CY2020Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
5165566 | USD |
CY2021Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
324840 | USD |
CY2020Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
312109 | USD |
CY2021Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
4528611 | USD |
CY2020Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
4853457 | USD |
CY2021Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
|
324840 | USD |
CY2021Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
|
3803998 | USD |
CY2021Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
|
4190521 | USD |
CY2021 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
208390 | USD |
CY2020 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
382812 | USD |
CY2020 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
1462817 | USD |
CY2021 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
2439 | USD |
CY2021 | us-gaap |
Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
|
6145 | USD |
CY2021Q4 | us-gaap |
Lessee Finance Lease Remaining Lease Term
LesseeFinanceLeaseRemainingLeaseTerm
|
P58M | |
CY2021Q4 | us-gaap |
Lessee Finance Lease Discount Rate
LesseeFinanceLeaseDiscountRate
|
0.0475 | pure |
CY2021 | us-gaap |
Finance Lease Interest Expense
FinanceLeaseInterestExpense
|
2439 | USD |
CY2021 | us-gaap |
Finance Lease Principal Payments
FinanceLeasePrincipalPayments
|
5777 | USD |
CY2021 | us-gaap |
Right Of Use Asset Obtained In Exchange For Finance Lease Liability
RightOfUseAssetObtainedInExchangeForFinanceLeaseLiability
|
206482 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
432485 | USD |
CY2021Q4 | us-gaap |
Finance Lease Liability Payments Due Next Twelve Months
FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
|
42868 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
382716 | USD |
CY2021Q4 | us-gaap |
Finance Lease Liability Payments Due Year Two
FinanceLeaseLiabilityPaymentsDueYearTwo
|
42868 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
331438 | USD |
CY2021Q4 | us-gaap |
Finance Lease Liability Payments Due Year Three
FinanceLeaseLiabilityPaymentsDueYearThree
|
42868 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
55023 | USD |
CY2021Q4 | us-gaap |
Finance Lease Liability Payments Due Year Four
FinanceLeaseLiabilityPaymentsDueYearFour
|
42868 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
0 | USD |
CY2021Q4 | us-gaap |
Finance Lease Liability Payments Due Year Five
FinanceLeaseLiabilityPaymentsDueYearFive
|
55715 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
1201662 | USD |
CY2021Q4 | us-gaap |
Finance Lease Liability Payments Due
FinanceLeaseLiabilityPaymentsDue
|
227187 | USD |
CY2021Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
86446 | USD |
CY2021Q4 | us-gaap |
Finance Lease Liability Undiscounted Excess Amount
FinanceLeaseLiabilityUndiscountedExcessAmount
|
26482 | USD |
CY2021 | occ |
Health Insurance Coverage Expense
HealthInsuranceCoverageExpense
|
2697167 | USD |
CY2020 | occ |
Health Insurance Coverage Expense
HealthInsuranceCoverageExpense
|
3165736 | USD |
CY2019 | occ |
Health Insurance Coverage Expense
HealthInsuranceCoverageExpense
|
3549189 | USD |
CY2021 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
65416 | USD |
CY2020 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
66804 | USD |
CY2019 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
68467 | USD |
CY2021Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
|
2000 | |
CY2021 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
335519 | USD |
CY2020 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
142242 | USD |
CY2019 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
980549 | USD |
CY2021Q4 | us-gaap |
Contract With Customer Liability
ContractWithCustomerLiability
|
308406 | USD |
CY2020Q4 | us-gaap |
Contract With Customer Liability
ContractWithCustomerLiability
|
63283 | USD |
CY2021Q4 | us-gaap |
Contract With Customer Refund Liability
ContractWithCustomerRefundLiability
|
159125 | USD |
CY2020Q4 | us-gaap |
Contract With Customer Refund Liability
ContractWithCustomerRefundLiability
|
119989 | USD |
CY2021 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
59136294 | USD |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
55277400 | USD |
CY2019 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
71324446 | USD |
CY2021 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
0 | USD |
CY2021 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
0 | USD |
CY2021 | us-gaap |
Federal Income Tax Expense Benefit Continuing Operations
FederalIncomeTaxExpenseBenefitContinuingOperations
|
0 | USD |
CY2021 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
-19898 | USD |
CY2021 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
0 | USD |
CY2021 | us-gaap |
State And Local Income Tax Expense Benefit Continuing Operations
StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
|
-19898 | USD |
CY2021 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
-19898 | USD |
CY2021 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
0 | USD |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-19898 | USD |
CY2020 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
0 | USD |
CY2020 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
0 | USD |
CY2020 | us-gaap |
Federal Income Tax Expense Benefit Continuing Operations
FederalIncomeTaxExpenseBenefitContinuingOperations
|
0 | USD |
CY2020 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
18041 | USD |
CY2020 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
0 | USD |
CY2020 | us-gaap |
State And Local Income Tax Expense Benefit Continuing Operations
StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
|
18041 | USD |
CY2020 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
18041 | USD |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
0 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
18041 | USD |
CY2019 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
726 | USD |
CY2019 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-726 | USD |
CY2019 | us-gaap |
Federal Income Tax Expense Benefit Continuing Operations
FederalIncomeTaxExpenseBenefitContinuingOperations
|
0 | USD |
CY2019 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
-5805 | USD |
CY2019 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
0 | USD |
CY2019 | us-gaap |
State And Local Income Tax Expense Benefit Continuing Operations
StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
|
-5805 | USD |
CY2019 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
-5079 | USD |
CY2019 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-726 | USD |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-5805 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.21 | pure |
CY2021 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
1384030 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
-1281668 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
-1191776 | USD |
CY2021 | us-gaap |
Income Tax Reconciliation Tax Contingencies State And Local
IncomeTaxReconciliationTaxContingenciesStateAndLocal
|
136875 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Tax Contingencies State And Local
IncomeTaxReconciliationTaxContingenciesStateAndLocal
|
-139736 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Tax Contingencies State And Local
IncomeTaxReconciliationTaxContingenciesStateAndLocal
|
-12875 | USD |
CY2021 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
|
1523 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
|
7317 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Meals And Entertainment
IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment
|
17999 | USD |
CY2021 | occ |
Effective Income Tax Rate Reconciliation Provision To Return Reconciliation Adjustment Amount
EffectiveIncomeTaxRateReconciliationProvisionToReturnReconciliationAdjustmentAmount
|
-13721 | USD |
CY2020 | occ |
Effective Income Tax Rate Reconciliation Provision To Return Reconciliation Adjustment Amount
EffectiveIncomeTaxRateReconciliationProvisionToReturnReconciliationAdjustmentAmount
|
350 | USD |
CY2019 | occ |
Effective Income Tax Rate Reconciliation Provision To Return Reconciliation Adjustment Amount
EffectiveIncomeTaxRateReconciliationProvisionToReturnReconciliationAdjustmentAmount
|
6400 | USD |
CY2021 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-9118 | USD |
CY2020 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
14473 | USD |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-90603 | USD |
CY2021 | occ |
Effective Income Tax Rate Reconciliation Nondeductible Expense Officers Compensation Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOfficersCompensationAmount
|
0 | USD |
CY2020 | occ |
Effective Income Tax Rate Reconciliation Nondeductible Expense Officers Compensation Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOfficersCompensationAmount
|
0 | USD |
CY2019 | occ |
Effective Income Tax Rate Reconciliation Nondeductible Expense Officers Compensation Amount
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOfficersCompensationAmount
|
31456 | USD |
CY2021 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
5646 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
6088 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
|
3434 | USD |
CY2021 | us-gaap |
Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
-479039 | USD |
CY2020 | us-gaap |
Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
1411217 | USD |
CY2019 | us-gaap |
Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
1230160 | USD |
CY2021 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-19898 | USD |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
18041 | USD |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-5805 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Alternative Minimum Tax
DeferredTaxAssetsTaxCreditCarryforwardsAlternativeMinimumTax
|
25003 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
30238 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
139809 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Loss Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves
|
873433 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Loss Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves
|
764183 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
187108 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
294857 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
59622 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
16814 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Asset Interest Carryforward
DeferredTaxAssetInterestCarryforward
|
18527 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Asset Interest Carryforward
DeferredTaxAssetInterestCarryforward
|
254520 | USD |
CY2021Q4 | occ |
Deferred Tax Assets Expenses Incurred Related To Expected Ppp Loan Forgiveness
DeferredTaxAssetsExpensesIncurredRelatedToExpectedPPPLoanForgiveness
|
0 | USD |
CY2020Q4 | occ |
Deferred Tax Assets Expenses Incurred Related To Expected Ppp Loan Forgiveness
DeferredTaxAssetsExpensesIncurredRelatedToExpectedPPPLoanForgiveness
|
1162161 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
3114714 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
2163956 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Alternative Minimum Tax
DeferredTaxAssetsTaxCreditCarryforwardsAlternativeMinimumTax
|
0 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Alternative Minimum Tax
DeferredTaxAssetsTaxCreditCarryforwardsAlternativeMinimumTax
|
25003 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
33383 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
53136 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
4317025 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
4874439 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
4280823 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
4759862 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
36202 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
114577 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
36202 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
86997 | USD |
CY2021Q4 | occ |
Deferred Tax Liabilities Other Receivables Accrual
DeferredTaxLiabilitiesOtherReceivablesAccrual
|
-0 | USD |
CY2020Q4 | occ |
Deferred Tax Liabilities Other Receivables Accrual
DeferredTaxLiabilitiesOtherReceivablesAccrual
|
2577 | USD |
CY2021Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
36202 | USD |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
89574 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
0 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
25003 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards Domestic
DeferredTaxAssetsOperatingLossCarryforwardsDomestic
|
13013389 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards State And Local
DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
|
2056028 | USD |
CY2021Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
4280823 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
4759862 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
48941 | USD |
CY2019Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
48941 | USD |
CY2021 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
20453 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
-0 | USD |
CY2021 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
0 | USD |
CY2020 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
0 | USD |
CY2021Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
28488 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
48941 | USD |
CY2021Q4 | us-gaap |
Unrecognized Tax Benefits Interest On Income Taxes Accrued
UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued
|
7815 | USD |
CY2021Q4 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAccrued
|
5113 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits Interest On Income Taxes Accrued
UnrecognizedTaxBenefitsInterestOnIncomeTaxesAccrued
|
4137 | USD |
CY2021Q4 | us-gaap |
Income Tax Examination Penalties And Interest Accrued
IncomeTaxExaminationPenaltiesAndInterestAccrued
|
13607 | USD |
CY2020Q4 | us-gaap |
Income Tax Examination Penalties And Interest Accrued
IncomeTaxExaminationPenaltiesAndInterestAccrued
|
26535 | USD |
CY2021Q4 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
21144 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
35661 | USD |
CY2021 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6610516 | USD |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-6121224 | USD |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-5669321 | USD |
CY2021 | us-gaap |
Weighted Average Number Of Share Outstanding Basic And Diluted
WeightedAverageNumberOfShareOutstandingBasicAndDiluted
|
7587686 | |
CY2020 | us-gaap |
Weighted Average Number Of Share Outstanding Basic And Diluted
WeightedAverageNumberOfShareOutstandingBasicAndDiluted
|
7354513 | |
CY2019 | us-gaap |
Weighted Average Number Of Share Outstanding Basic And Diluted
WeightedAverageNumberOfShareOutstandingBasicAndDiluted
|
7387141 | |
CY2021 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
0.87 | |
CY2020 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.83 | |
CY2019 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.77 | |
CY2020 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
140179 | |
CY2019 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
127750 | |
CY2021 | occ |
Repurchase And Retirement Of Common Stock Shares
RepurchaseAndRetirementOfCommonStockShares
|
0 | |
CY2021 | occ |
Repurchase And Retirement Of Common Stock At Cost
RepurchaseAndRetirementOfCommonStockAtCost
|
0 | USD |
CY2020 | occ |
Repurchase And Retirement Of Common Stock Shares
RepurchaseAndRetirementOfCommonStockShares
|
0 | |
CY2020 | occ |
Repurchase And Retirement Of Common Stock At Cost
RepurchaseAndRetirementOfCommonStockAtCost
|
0 | USD |
CY2019 | occ |
Repurchase And Retirement Of Common Stock Shares
RepurchaseAndRetirementOfCommonStockShares
|
351 | |
CY2019 | occ |
Repurchase And Retirement Of Common Stock At Cost
RepurchaseAndRetirementOfCommonStockAtCost
|
1573 | USD |
CY2021Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
7897477 | |
CY2015Q3 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
400000 | |
CY2015Q3 | occ |
Purchase And Retire Percentage Of Shares In Common Stock Outstanding
PurchaseAndRetirePercentageOfSharesInCommonStockOutstanding
|
0.060 | pure |
CY2021Q4 | us-gaap |
Stock Repurchase Program Remaining Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased
|
398400 | |
CY2011Q4 | occ |
Minimum Percentage Of Stock Owner In Stockholder Protection Rights Agreement
MinimumPercentageOfStockOwnerInStockholderProtectionRightsAgreement
|
0.15 | pure |
CY2011Q4 | occ |
Preferred Stock Dividends Rights Per Share No Par Value
PreferredStockDividendsRightsPerShareNoParValue
|
0 | |
CY2011Q4 | occ |
Preferred Stock Exercise Price
PreferredStockExercisePrice
|
25 | |
CY2011Q4 | occ |
Preferred Stock Number Of Votes
PreferredStockNumberOfVotes
|
1000 | pure |
CY2011Q4 | occ |
Preferred Stock Dividend Rate Common Stock Dividend Amount Multiplier
PreferredStockDividendRateCommonStockDividendAmountMultiplier
|
1000 | pure |
CY2011Q4 | us-gaap |
Preferred Stock Redemption Price Per Share
PreferredStockRedemptionPricePerShare
|
0.0001 | |
CY2021Q4 | us-gaap |
Preferred Stock Capital Shares Reserved For Future Issuance
PreferredStockCapitalSharesReservedForFutureIssuance
|
100000 | |
CY2021Q1 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
11876573 | USD |
CY2021Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
15741114 | USD |
CY2021Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
15634760 | USD |
CY2021Q4 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
15883847 | USD |
CY2021Q1 | us-gaap |
Gross Profit
GrossProfit
|
2309390 | USD |
CY2021Q2 | us-gaap |
Gross Profit
GrossProfit
|
4819216 | USD |
CY2021Q3 | us-gaap |
Gross Profit
GrossProfit
|
4090246 | USD |
CY2021Q4 | us-gaap |
Gross Profit
GrossProfit
|
5055227 | USD |
CY2021Q1 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
4307924 | USD |
CY2021Q2 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
4589592 | USD |
CY2021Q3 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
4530563 | USD |
CY2021Q4 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
4811073 | USD |
CY2021Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-2173816 | USD |
CY2021Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
3391775 | USD |
CY2021Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
5376535 | USD |
CY2021Q4 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-3876 | USD |
CY2021Q1 | us-gaap |
Profit Loss
ProfitLoss
|
-2141480 | USD |
CY2021Q2 | us-gaap |
Profit Loss
ProfitLoss
|
3385159 | USD |
CY2021Q3 | us-gaap |
Profit Loss
ProfitLoss
|
5372767 | USD |
CY2021Q4 | us-gaap |
Profit Loss
ProfitLoss
|
-5930 | USD |
CY2021Q1 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.29 | |
CY2021Q2 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
0.45 | |
CY2021Q3 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
0.71 | |
CY2021Q4 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
0.00 | |
CY2020Q1 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
12887396 | USD |
CY2020Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
14863428 | USD |
CY2020Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
13639169 | USD |
CY2020Q4 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
13887407 | USD |
CY2020Q1 | us-gaap |
Gross Profit
GrossProfit
|
2404140 | USD |
CY2020Q2 | us-gaap |
Gross Profit
GrossProfit
|
3996750 | USD |
CY2020Q3 | us-gaap |
Gross Profit
GrossProfit
|
3472161 | USD |
CY2020Q4 | us-gaap |
Gross Profit
GrossProfit
|
4213327 | USD |
CY2020Q1 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
4824124 | USD |
CY2020Q2 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
5549501 | USD |
CY2020Q3 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
4559970 | USD |
CY2020Q4 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
4311907 | USD |
CY2020Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-2586855 | USD |
CY2020Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-1684130 | USD |
CY2020Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-1428838 | USD |
CY2020Q4 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-403360 | USD |
CY2020Q1 | us-gaap |
Profit Loss
ProfitLoss
|
-2591888 | USD |
CY2020Q2 | us-gaap |
Profit Loss
ProfitLoss
|
-1689181 | USD |
CY2020Q3 | us-gaap |
Profit Loss
ProfitLoss
|
-1433830 | USD |
CY2020Q4 | us-gaap |
Profit Loss
ProfitLoss
|
-406325 | USD |
CY2020Q1 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.35 | |
CY2020Q2 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.23 | |
CY2020Q3 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.20 | |
CY2020Q4 | us-gaap |
Earnings Per Share Basic And Diluted
EarningsPerShareBasicAndDiluted
|
-0.06 |