2019 Q4 Form 10-K Financial Statement
#000143774921002312 Filed on February 09, 2021
Income Statement
Concept | 2019 Q4 | 2019 | 2018 Q4 |
---|---|---|---|
Revenue | $7.510M | $22.89M | $3.790M |
YoY Change | 98.15% | 16.03% | -24.95% |
Cost Of Revenue | $6.150M | $18.96M | $3.710M |
YoY Change | 65.77% | 16.93% | -14.52% |
Gross Profit | $1.360M | $3.928M | $80.00K |
YoY Change | 1600.0% | 11.86% | -88.73% |
Gross Profit Margin | 18.11% | 17.16% | 2.11% |
Selling, General & Admin | $1.360M | $4.945M | $1.270M |
YoY Change | 7.09% | -7.99% | 0.0% |
% of Gross Profit | 100.0% | 125.91% | 1587.5% |
Research & Development | $100.0K | $149.0K | $180.0K |
YoY Change | -44.44% | -16.29% | 38.46% |
% of Gross Profit | 7.35% | 3.79% | 225.0% |
Depreciation & Amortization | $230.0K | $1.004M | $280.0K |
YoY Change | -17.86% | 4.47% | 55.56% |
% of Gross Profit | 16.91% | 25.55% | 350.0% |
Operating Expenses | $1.460M | $5.425M | $1.460M |
YoY Change | 0.0% | -17.89% | 4.29% |
Operating Profit | -$100.0K | -$1.497M | -$1.380M |
YoY Change | -92.75% | -51.64% | 100.0% |
Interest Expense | -$80.00K | $358.2K | -$80.00K |
YoY Change | 0.0% | 17.6% | 0.0% |
% of Operating Profit | |||
Other Income/Expense, Net | $20.00K | -$271.9K | $40.00K |
YoY Change | -50.0% | -63.8% | -33.33% |
Pretax Income | -$160.0K | -$1.769M | -$1.810M |
YoY Change | -91.16% | -54.01% | 132.05% |
Income Tax | $10.00K | -$349.2K | -$420.0K |
% Of Pretax Income | |||
Net Earnings | -$170.0K | -$1.420M | -$1.390M |
YoY Change | -87.77% | -58.09% | 57.95% |
Net Earnings / Revenue | -2.26% | -6.2% | -36.68% |
Basic Earnings Per Share | -$0.33 | ||
Diluted Earnings Per Share | -$40.00K | -$0.33 | -$329.4K |
COMMON SHARES | |||
Basic Shares Outstanding | 4.298M | 4.277M | |
Diluted Shares Outstanding | 4.277M |
Balance Sheet
Concept | 2019 Q4 | 2019 | 2018 Q4 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $0.00 | $0.00 | $0.00 |
YoY Change | -100.0% | ||
Cash & Equivalents | $3.145K | $3.512K | |
Short-Term Investments | |||
Other Short-Term Assets | $70.93K | $70.00K | $125.1K |
YoY Change | -43.3% | -46.15% | -54.64% |
Inventory | $7.762M | $9.510M | $10.26M |
Prepaid Expenses | |||
Receivables | $1.680M | $1.680M | $1.537M |
Other Receivables | $150.0K | $150.0K | $120.0K |
Total Short-Term Assets | $11.41M | $11.41M | $12.15M |
YoY Change | -6.08% | -6.09% | -15.85% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $5.363M | $6.080M | $5.647M |
YoY Change | -5.04% | -19.15% | -5.04% |
Goodwill | |||
YoY Change | |||
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $71.19K | $1.860M | $76.50K |
YoY Change | -6.94% | 23.18% | -6.19% |
Total Long-Term Assets | $7.940M | $7.940M | $9.180M |
YoY Change | -13.51% | -13.51% | -7.71% |
TOTAL ASSETS | |||
Total Short-Term Assets | $11.41M | $11.41M | $12.15M |
Total Long-Term Assets | $7.940M | $7.940M | $9.180M |
Total Assets | $19.35M | $19.35M | $21.33M |
YoY Change | -9.28% | -9.28% | -12.53% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $1.205M | $1.210M | $802.1K |
YoY Change | 50.28% | 51.25% | 19.06% |
Accrued Expenses | $1.133M | $1.130M | $893.3K |
YoY Change | 26.82% | 26.97% | -8.99% |
Deferred Revenue | $105.4K | $145.6K | |
YoY Change | -27.65% | ||
Short-Term Debt | $2.580M | $2.580M | $3.510M |
YoY Change | -26.5% | -26.5% | 42.68% |
Long-Term Debt Due | $85.40K | $90.00K | $227.5K |
YoY Change | -62.45% | -60.87% | 2.82% |
Total Short-Term Liabilities | $5.203M | $5.200M | $5.765M |
YoY Change | -9.76% | -9.88% | 14.17% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $2.351M | $2.350M | $2.523M |
YoY Change | -6.83% | -6.75% | -8.21% |
Other Long-Term Liabilities | $0.00 | ||
YoY Change | -100.0% | ||
Total Long-Term Liabilities | $2.351M | $2.350M | $2.523M |
YoY Change | -6.83% | -6.75% | -8.21% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $5.203M | $5.200M | $5.765M |
Total Long-Term Liabilities | $2.351M | $2.350M | $2.523M |
Total Liabilities | $7.553M | $7.550M | $8.288M |
YoY Change | -8.87% | -8.93% | -1.2% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $8.547M | $9.967M | |
YoY Change | -14.24% | -25.36% | |
Common Stock | $43.21K | $42.25K | |
YoY Change | 2.27% | 1.59% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $47.06K | $27.74K | |
YoY Change | 69.67% | 331.67% | |
Treasury Stock Shares | $18.84K | $9.286K | |
Shareholders Equity | $11.79M | $11.79M | $13.04M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $19.35M | $19.35M | $21.33M |
YoY Change | -9.28% | -9.28% | -12.53% |
Cashflow Statement
Concept | 2019 Q4 | 2019 | 2018 Q4 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | -$170.0K | -$1.420M | -$1.390M |
YoY Change | -87.77% | -58.09% | 57.95% |
Depreciation, Depletion And Amortization | $230.0K | $1.004M | $280.0K |
YoY Change | -17.86% | 4.47% | 55.56% |
Cash From Operating Activities | $430.0K | $807.8K | -$260.0K |
YoY Change | -265.38% | -172.21% | -130.23% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$80.00K | $447.0K | -$490.0K |
YoY Change | -83.67% | 2.88% | 1125.0% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $0.00 | $900.0K | $0.00 |
YoY Change | -38.78% | -100.0% | |
Cash From Investing Activities | -$80.00K | $452.7K | -$500.0K |
YoY Change | -84.0% | -35.97% | 2400.0% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $19.32K | ||
YoY Change | -9.32% | ||
Debt Paid & Issued, Net | $314.5K | ||
YoY Change | 43.32% | ||
Cash From Financing Activities | -350.0K | -1.261M | 750.0K |
YoY Change | -146.67% | -722.08% | -178.13% |
NET CHANGE | |||
Cash From Operating Activities | 430.0K | 807.8K | -260.0K |
Cash From Investing Activities | -80.00K | 452.7K | -500.0K |
Cash From Financing Activities | -350.0K | -1.261M | 750.0K |
Net Change In Cash | -0.00000000001455 | -367.0 | -10.00K |
YoY Change | -100.0% | -99.82% | -91.67% |
FREE CASH FLOW | |||
Cash From Operating Activities | $430.0K | $807.8K | -$260.0K |
Capital Expenditures | -$80.00K | $447.0K | -$490.0K |
Free Cash Flow | $510.0K | $360.7K | $230.0K |
YoY Change | 121.74% | -123.23% | -74.44% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2019Q4 | artw |
Assets Held For Lease Net
AssetsHeldForLeaseNet
|
713782 | |
CY2020Q4 | artw |
Billings In Excess Of Costs Amounts Billed
BillingsInExcessOfCostsAmountsBilled
|
10553034 | |
CY2019Q4 | artw |
Billings In Excess Of Costs Amounts Billed
BillingsInExcessOfCostsAmountsBilled
|
874222 | |
CY2020Q4 | artw |
Billings In Excess Of Costs Costs
BillingsInExcessOfCostsCosts
|
9697061 | |
CY2019Q4 | artw |
Billings In Excess Of Costs Costs
BillingsInExcessOfCostsCosts
|
629501 | |
CY2020Q4 | artw |
Billings In Excess Of Costs Costs And Estimated Earnings
BillingsInExcessOfCostsCostsAndEstimatedEarnings
|
10276808 | |
CY2019Q4 | artw |
Billings In Excess Of Costs Costs And Estimated Earnings
BillingsInExcessOfCostsCostsAndEstimatedEarnings
|
785291 | |
CY2020 | artw |
Accounts Receivable Threshold Period On International Sales
AccountsReceivableThresholdPeriodOnInternationalSales
|
P180D | |
CY2020 | artw |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities Accrued Interest On Deferred Debt Payments
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAccruedInterestOnDeferredDebtPayments
|
7536 | |
CY2019 | artw |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities Accrued Interest On Deferred Debt Payments
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAccruedInterestOnDeferredDebtPayments
|
||
CY2020Q4 | artw |
Assets Held For Lease Net
AssetsHeldForLeaseNet
|
521555 | |
CY2020Q4 | artw |
Billings In Excess Of Costs Estimated Earnings
BillingsInExcessOfCostsEstimatedEarnings
|
579747 | |
CY2019Q4 | artw |
Billings In Excess Of Costs Estimated Earnings
BillingsInExcessOfCostsEstimatedEarnings
|
155790 | |
CY2020Q4 | artw |
Contract With Customer Liability Current Billing In Excess Of Cost And Profit
ContractWithCustomerLiabilityCurrentBillingInExcessOfCostAndProfit
|
276226 | |
CY2019Q4 | artw |
Contract With Customer Liability Current Billing In Excess Of Cost And Profit
ContractWithCustomerLiabilityCurrentBillingInExcessOfCostAndProfit
|
88931 | |
CY2020Q4 | artw |
Costs In Excess Of Billings Amounts Billed
CostsInExcessOfBillingsAmountsBilled
|
553210 | |
CY2019Q4 | artw |
Costs In Excess Of Billings Amounts Billed
CostsInExcessOfBillingsAmountsBilled
|
4123851 | |
CY2020Q4 | artw |
Costs In Excess Of Billings Costs
CostsInExcessOfBillingsCosts
|
511152 | |
CY2019Q4 | artw |
Costs In Excess Of Billings Costs
CostsInExcessOfBillingsCosts
|
3805906 | |
CY2020Q4 | artw |
Costs In Excess Of Billings Costs And Estimated Earnings
CostsInExcessOfBillingsCostsAndEstimatedEarnings
|
609236 | |
CY2019Q4 | artw |
Costs In Excess Of Billings Costs And Estimated Earnings
CostsInExcessOfBillingsCostsAndEstimatedEarnings
|
4850518 | |
CY2020Q4 | artw |
Costs In Excess Of Billings Estimated Earnings
CostsInExcessOfBillingsEstimatedEarnings
|
98084 | |
CY2019Q4 | artw |
Costs In Excess Of Billings Estimated Earnings
CostsInExcessOfBillingsEstimatedEarnings
|
1044612 | |
CY2020 | artw |
Debt Forgiveness Paycheck Protection Program Loan Under Cares Act
DebtForgivenessPaycheckProtectionProgramLoanUnderCARESAct
|
1242900 | |
CY2019 | artw |
Debt Forgiveness Paycheck Protection Program Loan Under Cares Act
DebtForgivenessPaycheckProtectionProgramLoanUnderCARESAct
|
||
CY2020Q4 | artw |
Deferred Tax Assets Operating Loss And Tax Credit Carryforwards
DeferredTaxAssetsOperatingLossAndTaxCreditCarryforwards
|
1695000 | |
CY2019Q4 | artw |
Deferred Tax Assets Operating Loss And Tax Credit Carryforwards
DeferredTaxAssetsOperatingLossAndTaxCreditCarryforwards
|
1182000 | |
CY2020 | artw |
Defined Contribution Plan Minimum Threshold Percentage Of Employee Contributions
DefinedContributionPlanMinimumThresholdPercentageOfEmployeeContributions
|
0.04 | |
CY2020 | artw |
Effective Income Tax Rate Reconciliation Debt Forgiveness Paycheck Protection Program Under Cares Act
EffectiveIncomeTaxRateReconciliationDebtForgivenessPaycheckProtectionProgramUnderCARESAct
|
0.088 | |
CY2019 | artw |
Effective Income Tax Rate Reconciliation Debt Forgiveness Paycheck Protection Program Under Cares Act
EffectiveIncomeTaxRateReconciliationDebtForgivenessPaycheckProtectionProgramUnderCARESAct
|
||
CY2020 | artw |
Engineering Expense
EngineeringExpense
|
476721 | |
CY2019 | artw |
Engineering Expense
EngineeringExpense
|
479345 | |
CY2020 | artw |
Overdue Trade Receivables Interest Rate Percent Of Account Balances Per Month
OverdueTradeReceivablesInterestRatePercentOfAccountBalancesPerMonth
|
0.015 | |
CY2020Q2 | artw |
Proceeds From Paycheck Protection Program Under Cares Act
ProceedsFromPaycheckProtectionProgramUnderCARESAct
|
1242900 | |
CY2020 | artw |
Proceeds From Paycheck Protection Program Under Cares Act
ProceedsFromPaycheckProtectionProgramUnderCARESAct
|
1692900 | |
CY2019 | artw |
Proceeds From Paycheck Protection Program Under Cares Act
ProceedsFromPaycheckProtectionProgramUnderCARESAct
|
||
CY2020 | artw |
Provision For Doubtful Accounts Before Chargeoffs
ProvisionForDoubtfulAccountsBeforeChargeoffs
|
44222 | |
CY2019 | artw |
Provision For Doubtful Accounts Before Chargeoffs
ProvisionForDoubtfulAccountsBeforeChargeoffs
|
-1602 | |
CY2020 | artw |
Provision For Doubtful Accounts Chargeoffs
ProvisionForDoubtfulAccountsChargeoffs
|
15972 | |
CY2019 | artw |
Provision For Doubtful Accounts Chargeoffs
ProvisionForDoubtfulAccountsChargeoffs
|
573 | |
CY2020Q4 | artw |
Salestype Leases Lease Receivable Current
SalestypeLeasesLeaseReceivableCurrent
|
29002 | |
CY2019Q4 | artw |
Salestype Leases Lease Receivable Current
SalestypeLeasesLeaseReceivableCurrent
|
162425 | |
CY2020Q4 | artw |
Salestype Leases Lease Receivable Noncurrent
SalestypeLeasesLeaseReceivableNoncurrent
|
||
CY2019Q4 | artw |
Salestype Leases Lease Receivable Noncurrent
SalestypeLeasesLeaseReceivableNoncurrent
|
5851 | |
CY2020Q4 | artw |
Salestype Leases Unearned Interest Income Current
SalestypeLeasesUnearnedInterestIncomeCurrent
|
650 | |
CY2019Q4 | artw |
Salestype Leases Unearned Interest Income Current
SalestypeLeasesUnearnedInterestIncomeCurrent
|
14420 | |
CY2020Q4 | artw |
Salestype Leases Unearned Interest Income Noncurrent
SalestypeLeasesUnearnedInterestIncomeNoncurrent
|
||
CY2019Q4 | artw |
Salestype Leases Unearned Interest Income Noncurrent
SalestypeLeasesUnearnedInterestIncomeNoncurrent
|
69 | |
CY2019 | artw |
Standard Product Warranty Term
StandardProductWarrantyTerm
|
P1Y | |
CY2020 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2020 | artw |
Sharebased Payment Arrangement Expense Net Of Shares Repurchased
SharebasedPaymentArrangementExpenseNetOfSharesRepurchased
|
216649 | |
CY2019 | artw |
Sharebased Payment Arrangement Expense Net Of Shares Repurchased
SharebasedPaymentArrangementExpenseNetOfSharesRepurchased
|
176093 | |
CY2019 | artw |
Standard Product Warranty Accrual Decrease Increase For Payments And Adjustments
StandardProductWarrantyAccrualDecreaseIncreaseForPaymentsAndAdjustments
|
157501 | |
CY2018 | artw |
Standard Product Warranty Accrual Decrease Increase For Payments And Adjustments
StandardProductWarrantyAccrualDecreaseIncreaseForPaymentsAndAdjustments
|
279992 | |
CY2019 | artw |
Standard Product Warranty Accrual Increase Decrease For Warranties Issued And Cancelled
StandardProductWarrantyAccrualIncreaseDecreaseForWarrantiesIssuedAndCancelled
|
245770 | |
CY2018 | artw |
Standard Product Warranty Accrual Increase Decrease For Warranties Issued And Cancelled
StandardProductWarrantyAccrualIncreaseDecreaseForWarrantiesIssuedAndCancelled
|
386391 | |
CY2020 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2020 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2020 | |
CY2020 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2020-11-30 | |
CY2020 | dei |
Document Type
DocumentType
|
10-K | |
CY2021Q1 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
4523407 | |
CY2020 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | |
CY2020Q2 | dei |
Entity Public Float
EntityPublicFloat
|
3719120 | |
CY2020 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2020 | dei |
Security12b Title
Security12bTitle
|
Common stock $.01 par value | |
CY2020Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1955404 | |
CY2019Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1205313 | |
CY2020Q4 | us-gaap |
Accounts Receivable Billed For Long Term Contracts Or Programs
AccountsReceivableBilledForLongTermContractsOrPrograms
|
2391000 | |
CY2019Q4 | us-gaap |
Accounts Receivable Billed For Long Term Contracts Or Programs
AccountsReceivableBilledForLongTermContractsOrPrograms
|
1680000 | |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
2390604 | |
CY2019Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
1679975 | |
CY2020Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
1100 | |
CY2019Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
6400 | |
CY2020Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
1279312 | |
CY2019Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
1132826 | |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
14043333 | |
CY2019 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
195416 | |
CY2019Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
13639706 | |
CY2020Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
3496243 | |
CY2019Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
3250087 | |
CY2020 | us-gaap |
Advertising Expense
AdvertisingExpense
|
175000 | |
CY2019 | us-gaap |
Advertising Expense
AdvertisingExpense
|
198000 | |
CY2020 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
247645 | |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
22925 | |
CY2018Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
25100 | |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
51175 | |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
51175 | |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
22925 | |
CY2020Q4 | us-gaap |
Assets
Assets
|
18803013 | |
CY2019Q4 | us-gaap |
Assets
Assets
|
19346938 | |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
10301350 | |
CY2019Q4 | us-gaap |
Assets Current
AssetsCurrent
|
11407230 | |
CY2020Q4 | us-gaap |
Capital Leases Lessor Balance Sheet Net Investment In Sales Type Leases Current
CapitalLeasesLessorBalanceSheetNetInvestmentInSalesTypeLeasesCurrent
|
28352 | |
CY2019Q4 | us-gaap |
Capital Leases Lessor Balance Sheet Net Investment In Sales Type Leases Current
CapitalLeasesLessorBalanceSheetNetInvestmentInSalesTypeLeasesCurrent
|
148005 | |
CY2020Q4 | us-gaap |
Capital Leases Lessor Balance Sheet Net Investment In Sales Type Leases Noncurrent
CapitalLeasesLessorBalanceSheetNetInvestmentInSalesTypeLeasesNoncurrent
|
||
CY2019Q4 | us-gaap |
Capital Leases Lessor Balance Sheet Net Investment In Sales Type Leases Noncurrent
CapitalLeasesLessorBalanceSheetNetInvestmentInSalesTypeLeasesNoncurrent
|
5782 | |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
2684 | |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
3145 | |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
3145 | |
CY2018Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
3512 | |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
2684 | |
CY2020 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-461 | |
CY2019 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-367 | |
CY2020Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2019Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
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
|
9500000 | |
CY2019Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
9500000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
4470004 | |
CY2019Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
4321087 | |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
44700 | |
CY2019Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
43211 | |
CY2020 | us-gaap |
Concentration Risk Credit Risk
ConcentrationRiskCreditRisk
|
<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"><table border="0" cellpadding="0" cellspacing="0" style=";font-family:'Times New Roman', Times, serif;font-size:10pt; min-width: 700px;"><tr><td style="width:27pt;"></td> <td style="width:27pt;vertical-align:top;"> <div style=" font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:justify;margin-bottom:0pt;font-size:10pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">(</div></div><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">f</div></div><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">)</div></div></div> </td> <td style="vertical-align:top;"> <div style=" font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:justify;margin-bottom:0pt;font-size:10pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Cash Concentration</div></div></div> </td> </tr> </table> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:54pt;margin-right:0pt;margin-top:0pt;text-align:left;"> </div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:54pt;margin-right:0pt;margin-top:0pt;text-align:left;">The Company maintains several different accounts at <div style="display: inline; font-style: italic; font: inherit;">one</div> bank, and balances in these accounts could periodically exceed the federally insured limits. However, management believes the risk of loss to be low.</div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"> </div><div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"></div> <table border="0" cellpadding="0" cellspacing="0" style=";font-family:'Times New Roman', Times, serif;font-size:10pt; min-width: 700px;"> <tr> <td style="width:27pt;"> </td></tr></table><table border="0" cellpadding="0" cellspacing="0" style=";font-family:'Times New Roman', Times, serif;font-size:10pt; min-width: 700px;"><tr><td style="width:27pt;"></td> <td style="width:27pt;vertical-align:top;"> <div style=" font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">(</div></div><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">g</div></div><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">)</div></div></div> </td> <td style="vertical-align:top;"> <div style=" font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Customer Concentration</div></div></div> </td> </tr> </table> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:27pt;margin-right:0pt;margin-top:0pt;text-align:justify;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"> </div></div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:54pt;margin-right:0pt;margin-top:0pt;text-align:left;">During the <div style="display: inline; font-style: italic; font: inherit;">2020</div> and <div style="display: inline; font-style: italic; font: inherit;">2019</div> fiscal years, <div style="display: inline; font-style: italic; font: inherit;"><div style="display: inline; font-style: italic; font: inherit;">one</div></div> customer accounted for more than <div style="display: inline; font-style: italic; font: inherit;">18%</div> and <div style="display: inline; font-style: italic; font: inherit;">21%,</div> respectively, of consolidated revenues due to a large contract in the Modular Buildings segment. The Company's highest recurring customer accounted for just under <div style="display: inline; font-style: italic; font: inherit;">6%</div> and <div style="display: inline; font-style: italic; font: inherit;">10%</div> of consolidated net revenues in <div style="display: inline; font-style: italic; font: inherit;">2020</div> and <div style="display: inline; font-style: italic; font: inherit;">2019</div> fiscal years, respectively.</div></div></div></div> | |
CY2020Q4 | us-gaap |
Construction Contractor Receivable Retainage
ConstructionContractorReceivableRetainage
|
36488 | |
CY2019Q4 | us-gaap |
Construction Contractor Receivable Retainage
ConstructionContractorReceivableRetainage
|
0 | |
CY2020Q4 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
56000 | |
CY2019Q4 | us-gaap |
Contract With Customer Asset Net
ContractWithCustomerAssetNet
|
727000 | |
CY2020Q4 | us-gaap |
Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
|
56026 | |
CY2019Q4 | us-gaap |
Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
|
726667 | |
CY2020Q4 | us-gaap |
Contract With Customer Liability
ContractWithCustomerLiability
|
276000 | |
CY2019Q4 | us-gaap |
Contract With Customer Liability
ContractWithCustomerLiability
|
89000 | |
CY2020Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
198225 | |
CY2019Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
105363 | |
CY2020 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
89000 | |
CY2019 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
185000 | |
CY2020 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
20009523 | |
CY2019 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
18961260 | |
CY2020 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
25168 | |
CY2019 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
4392 | |
CY2020Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
2667686 | |
CY2019Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
1786048 | |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-881638 | |
CY2019 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-353626 | |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
55000 | |
CY2019Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
138000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
2723000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
1924000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
71000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
21000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
2668000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
1786000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
161000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
100000 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
|
796000 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Reserves
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReserves
|
621000 | |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
55000 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
138000 | |
CY2020 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
32464 | |
CY2019 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
36253 | |
CY2020 | us-gaap |
Defined Contribution Plan Employer Matching Contribution Percent Of Match
DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
|
0.25 | |
CY2020 | us-gaap |
Defined Contribution Plan Maximum Annual Contributions Per Employee Percent
DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
|
0.01 | |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
818234 | |
CY2019 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1003541 | |
CY2020Q4 | us-gaap |
Due From Related Parties
DueFromRelatedParties
|
0 | |
CY2019Q4 | us-gaap |
Due From Related Parties
DueFromRelatedParties
|
0 | |
CY2020Q4 | us-gaap |
Due To Related Parties Current And Noncurrent
DueToRelatedPartiesCurrentAndNoncurrent
|
1464 | |
CY2019Q4 | us-gaap |
Due To Related Parties Current And Noncurrent
DueToRelatedPartiesCurrentAndNoncurrent
|
1517 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.48 | |
CY2019 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.33 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.48 | |
CY2019 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.33 | |
CY2020 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.289 | |
CY2019 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.197 | |
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 Prior Year Income Taxes
EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes
|
-0.009 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Prior Year Income Taxes
EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes
|
-0.013 | |
CY2020Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
726625 | |
CY2019Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
555201 | |
CY2019 | us-gaap |
Employee Service Share Based Compensation Allocation Of Recognized Period Costs Capitalized Amount
EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
|
0 | |
CY2020Q4 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
|
0 | |
CY2020 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
176435 | |
CY2019 | us-gaap |
Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
|
122022 | |
CY2020 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-25195 | |
CY2019 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
9999 | |
CY2020 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
4208553 | |
CY2019 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
3343443 | |
CY2020 | us-gaap |
Gross Profit
GrossProfit
|
2399600 | |
CY2019 | us-gaap |
Gross Profit
GrossProfit
|
3927913 | |
CY2020 | us-gaap |
Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
|
-2103486 | |
CY2019 | us-gaap |
Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
|
-1419586 | |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-2959956 | |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
-1768820 | |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-856470 | |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-349234 | |
CY2020 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
28514 | |
CY2019 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
3855 | |
CY2020 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
750091 | |
CY2019 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
403251 | |
CY2020 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
738879 | |
CY2019 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
140687 | |
CY2020 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
136949 | |
CY2019 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
239542 | |
CY2020 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
92862 | |
CY2019 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
-40269 | |
CY2020 | us-gaap |
Increase Decrease In Income Taxes
IncreaseDecreaseInIncomeTaxes
|
-5300 | |
CY2019 | us-gaap |
Increase Decrease In Income Taxes
IncreaseDecreaseInIncomeTaxes
|
||
CY2020 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-459804 | |
CY2019 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-1399330 | |
CY2020 | us-gaap |
Increase Decrease In Leasing Receivables
IncreaseDecreaseInLeasingReceivables
|
-125435 | |
CY2019 | us-gaap |
Increase Decrease In Leasing Receivables
IncreaseDecreaseInLeasingReceivables
|
-123055 | |
CY2020 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
-9649 | |
CY2019 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
-54158 | |
CY2020 | us-gaap |
Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
|
857936 | |
CY2019 | us-gaap |
Increase Decrease In Other Operating Liabilities
IncreaseDecreaseInOtherOperatingLiabilities
|
-723463 | |
CY2020 | us-gaap |
Interest Expense
InterestExpense
|
304611 | |
CY2019 | us-gaap |
Interest Expense
InterestExpense
|
358174 | |
CY2020 | us-gaap |
Interest Paid Net
InterestPaidNet
|
263598 | |
CY2019 | us-gaap |
Interest Paid Net
InterestPaidNet
|
329356 | |
CY2020Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
3777136 | |
CY2019Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
3905373 | |
CY2020Q4 | us-gaap |
Inventory Gross
InventoryGross
|
11167512 | |
CY2019Q4 | us-gaap |
Inventory Gross
InventoryGross
|
11553499 | |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
7762400 | |
CY2019Q4 | us-gaap |
Inventory Net
InventoryNet
|
8778507 | |
CY2020Q4 | us-gaap |
Inventory Raw Materials
InventoryRawMaterials
|
7086367 | |
CY2019Q4 | us-gaap |
Inventory Raw Materials
InventoryRawMaterials
|
7156001 | |
CY2020Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
3405112 | |
CY2019Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
2774992 | |
CY2020Q4 | us-gaap |
Inventory Work In Process
InventoryWorkInProcess
|
304009 | |
CY2019Q4 | us-gaap |
Inventory Work In Process
InventoryWorkInProcess
|
492125 | |
CY2019 | us-gaap |
Inventory Write Down
InventoryWriteDown
|
79265 | |
CY2020 | us-gaap |
Inventory Write Down
InventoryWriteDown
|
556303 | |
CY2020 | us-gaap |
Lease Cost
LeaseCost
|
23121 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
30236 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
10847 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
1630 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
6911 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
10847 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
2356 | |
CY2020Q4 | us-gaap |
Lessor Operating Lease Payments To Be Received
LessorOperatingLeasePaymentsToBeReceived
|
0 | |
CY2020Q4 | us-gaap |
Liabilities
Liabilities
|
8896268 | |
CY2019Q4 | us-gaap |
Liabilities
Liabilities
|
7553356 | |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
18803013 | |
CY2019Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
19346938 | |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
6164776 | |
CY2019Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
5202764 | |
CY2020Q4 | us-gaap |
Lines Of Credit Current
LinesOfCreditCurrent
|
2359530 | |
CY2019Q4 | us-gaap |
Lines Of Credit Current
LinesOfCreditCurrent
|
2578530 | |
CY2020Q4 | us-gaap |
Loans Payable Current
LoansPayableCurrent
|
94979 | |
CY2019Q4 | us-gaap |
Loans Payable Current
LoansPayableCurrent
|
85401 | |
CY2020Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
2808129 | |
CY2019Q4 | us-gaap |
Long Term Debt
LongTermDebt
|
2435993 | |
CY2020Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
94979 | |
CY2019Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
85401 | |
CY2020Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal After Year Five
LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
|
2264684 | |
CY2020Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
|
94979 | |
CY2020Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Five
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
|
120644 | |
CY2020Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Four
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
|
114499 | |
CY2020Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
|
109297 | |
CY2020Q4 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
|
104026 | |
CY2020Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
2713150 | |
CY2019Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
2350592 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
1357503 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-1260808 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-501650 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
452688 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
-856314 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
807753 | |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-2103486 | |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-1419586 | |
CY2020Q4 | us-gaap |
Net Investment In Lease Current
NetInvestmentInLeaseCurrent
|
28352 | |
CY2019Q4 | us-gaap |
Net Investment In Lease Current
NetInvestmentInLeaseCurrent
|
148005 | |
CY2020Q4 | us-gaap |
Net Investment In Lease Noncurrent
NetInvestmentInLeaseNoncurrent
|
||
CY2019Q4 | us-gaap |
Net Investment In Lease Noncurrent
NetInvestmentInLeaseNoncurrent
|
5782 | |
CY2020 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
949678 | |
CY2019 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-271939 | |
CY2020Q2 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
3 | |
CY2020 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
3 | |
CY2020 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
3 | |
CY2020 | us-gaap |
Operating Expenses
OperatingExpenses
|
6309234 | |
CY2019 | us-gaap |
Operating Expenses
OperatingExpenses
|
5424794 | |
CY2020 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-3909634 | |
CY2019 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-1496881 | |
CY2020Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
27879 | |
CY2020Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
18342 | |
CY2019Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
||
CY2020Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
27879 | |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.055 | |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P2Y330D | |
CY2020Q4 | us-gaap |
Operating Loss Carryforwards
OperatingLossCarryforwards
|
7479000 | |
CY2020Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
261233 | |
CY2019Q4 | us-gaap |
Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
|
374440 | |
CY2020Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
61284 | |
CY2019Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
70931 | |
CY2020Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
93760 | |
CY2019Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
71189 | |
CY2020 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
1254289 | |
CY2019 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
86235 | |
CY2020 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
30996 | |
CY2019 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
19323 | |
CY2020 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
693414 | |
CY2019 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
447025 | |
CY2020Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2019Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
500000 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
500000 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2019Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2020 | us-gaap |
Prior Period Reclassification Adjustment Description
PriorPeriodReclassificationAdjustmentDescription
|
<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"><table border="0" cellpadding="0" cellspacing="0" style=";font-family:'Times New Roman', Times, serif;font-size:10pt; min-width: 700px;"><tr><td style="width:27pt;"></td> <td style="width:27pt;vertical-align:top;"> <div style=" font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">(</div></div><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">e</div></div><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">)</div></div></div> </td> <td style="vertical-align:top;"> <div style=" font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Reclassification of Prior Year Presentation</div></div></div> </td> </tr> </table> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:54pt;margin-right:0pt;margin-top:0pt;text-align:left;text-indent:-27pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"> </div></div></div> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 54pt; text-align: left; text-indent: 0pt;">Certain prior year amounts have been reclassified for consistency with the current year presentation. These reclassifications had <div style="display: inline; font-style: italic; font: inherit;">no</div> effect on the reported results of operations. An adjustment has been made to the Consolidated Statements of Cash Flows for the fiscal year ended <div style="display: inline; font-style: italic; font: inherit;"> November 30, 2019, </div>to identify the non-cash expense related to changes in the Company's obsolete inventory reserve in the amount of <div style="display: inline; font-style: italic; font: inherit;">$79,265.</div> This change in classification does <div style="display: inline; font-style: italic; font: inherit;">not</div> affect previously reported cash flows from operating activities in the Consolidated Statements of Cash Flows.</div></div></div></div> | |
CY2020 | us-gaap |
Proceeds From Repayments Of Lines Of Credit
ProceedsFromRepaymentsOfLinesOfCredit
|
-219000 | |
CY2019 | us-gaap |
Proceeds From Repayments Of Lines Of Credit
ProceedsFromRepaymentsOfLinesOfCredit
|
-927000 | |
CY2020 | us-gaap |
Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
|
191764 | |
CY2019 | us-gaap |
Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
|
899713 | |
CY2020 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
0 | |
CY2019 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
0 | |
CY2020Q4 | us-gaap |
Product Warranty Accrual
ProductWarrantyAccrual
|
291454 | |
CY2019Q4 | us-gaap |
Product Warranty Accrual
ProductWarrantyAccrual
|
203185 | |
CY2020Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
19261995 | |
CY2019Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
19002613 | |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
5218662 | |
CY2019Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
5362907 | |
CY2020 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
28250 | |
CY2019 | us-gaap |
Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
|
-2175 | |
CY2020 | us-gaap |
Related Party Transaction Expenses From Transactions With Related Party
RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
|
19232 | |
CY2019 | us-gaap |
Related Party Transaction Expenses From Transactions With Related Party
RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
|
26506 | |
CY2020 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
85401 | |
CY2019 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
314485 | |
CY2020 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
199000 | |
CY2019 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
149000 | |
CY2020 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
1623960 | |
CY2019 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
1602006 | |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
247645 | |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
195416 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
||
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
||
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
||
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
||
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
||
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
||
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
|
0 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
36000 | |
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
6443856 | |
CY2019Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
8547342 | |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
22409000 | |
CY2019 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
22889000 | |
CY2020 | us-gaap |
Revenue From Related Parties
RevenueFromRelatedParties
|
0 | |
CY2019 | us-gaap |
Revenue From Related Parties
RevenueFromRelatedParties
|
0 | |
CY2020 | us-gaap |
Revenues
Revenues
|
22409123 | |
CY2019 | us-gaap |
Revenues
Revenues
|
22889173 | |
CY2020Q4 | us-gaap |
Sales Type And Direct Financing Leases Lease Receivable Payments To Be Received
SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceived
|
29002 | |
CY2020Q4 | us-gaap |
Sales Type And Direct Financing Leases Lease Receivable Payments To Be Received Next Twelve Months
SalesTypeAndDirectFinancingLeasesLeaseReceivablePaymentsToBeReceivedNextTwelveMonths
|
29002 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
59000 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
6.40 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
6.07 | |
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
23000 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
||
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
5.56 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
||
CY2020 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
0 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
0 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
59000 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
36000 | |
CY2018Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
59000 | |
CY2019Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
6.07 | |
CY2020Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
6.40 | |
CY2018Q4 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
6.07 | |
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
||
CY2019 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
||
CY2020 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
||
CY2019 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
||
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
||
CY2019 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
||
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P2Y208D | |
CY2019 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P2Y313D | |
CY2020Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
|
0 | |
CY2019Q4 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
|
0 | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P2Y208D | |
CY2019 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P2Y313D | |
CY2020 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
|
0 | |
CY2019 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares
|
0 | |
CY2020 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
16255 | |
CY2019 | us-gaap |
Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
|
9556 | |
CY2018Q4 | us-gaap |
Standard Product Warranty Accrual
StandardProductWarrantyAccrual
|
203185 | |
CY2017Q4 | us-gaap |
Standard Product Warranty Accrual
StandardProductWarrantyAccrual
|
96786 | |
CY2019Q4 | us-gaap |
Standard Product Warranty Accrual
StandardProductWarrantyAccrual
|
291454 | |
CY2020 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
||
CY2019 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
||
CY2019 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
176093 | |
CY2020 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
216649 | |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
9906745 | |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
11793582 | |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
13037075 | |
CY2020Q4 | us-gaap |
Tax Credit Carryforward Amount
TaxCreditCarryforwardAmount
|
109000 | |
CY2020Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
35097 | |
CY2019Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
18842 | |
CY2020Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
78054 | |
CY2019Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
47058 | |
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"><table border="0" cellpadding="0" cellspacing="0" style=";font-family:'Times New Roman', Times, serif;font-size:10pt; min-width: 700px;"><tr><td style="width:27pt;"></td> <td style="width:28pt;vertical-align:top;"> <div style=" font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">(u)</div></div></div> </td> <td style="vertical-align:top;"> <div style=" font-family:'Times New Roman', Times, serif;margin-right:0pt;margin-top:0pt;text-align:left;margin-bottom:0pt;font-size:10pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;">Use of Estimates</div></div></div> </td> </tr> </table> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:54pt;margin-right:0pt;margin-top:0pt;text-align:justify;"> </div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin-bottom:0pt;margin-left:54pt;margin-right:0pt;margin-top:0pt;text-align:left;">Management has made a number of estimates and assumptions related to the reported amount of assets and liabilities, reported amount of revenues and expenses, and the disclosure of contingent assets and liabilities to prepare these financial statements in conformity with generally accepted accounting principles. Actual results could differ from those estimates. </div></div></div></div> | |
CY2020 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
||
CY2019 | us-gaap |
Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
|
||
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
4393887 | |
CY2019 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
4277375 | |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
4393887 | |
CY2019 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
4277375 |