2019 Q4 Form 10-K Financial Statement
#000143774921006247 Filed on March 17, 2021
Income Statement
Concept | 2019 Q4 | 2019 Q3 | 2019 Q2 |
---|---|---|---|
Revenue | $21.10M | $22.24M | $24.51M |
YoY Change | -0.15% | 12.51% | 80.34% |
Cost Of Revenue | $16.57M | $17.26M | $19.29M |
YoY Change | -1.27% | 12.64% | 90.84% |
Gross Profit | $4.530M | $4.988M | $5.227M |
YoY Change | 4.17% | 12.07% | 49.92% |
Gross Profit Margin | 21.47% | 22.42% | 21.32% |
Selling, General & Admin | $1.941M | $2.429M | $2.435M |
YoY Change | -1.25% | 22.73% | 54.9% |
% of Gross Profit | 42.85% | 48.7% | 46.59% |
Research & Development | $0.00 | ||
YoY Change | |||
% of Gross Profit | 0.0% | ||
Depreciation & Amortization | $571.9K | $378.1K | $376.0K |
YoY Change | 18.06% | -0.36% | 169.05% |
% of Gross Profit | 12.62% | 7.58% | 7.19% |
Operating Expenses | $1.941M | $2.429M | $2.435M |
YoY Change | -1.25% | 22.73% | 45.86% |
Operating Profit | $2.589M | $2.559M | $2.792M |
YoY Change | 8.65% | 3.54% | 53.64% |
Interest Expense | -$184.2K | $322.0K | $284.6K |
YoY Change | -37.7% | 12.32% | 252.4% |
% of Operating Profit | -7.11% | 12.58% | 10.19% |
Other Income/Expense, Net | -$32.67K | -$322.0K | -$310.1K |
YoY Change | -139.58% | -16.17% | -75.97% |
Pretax Income | $2.372M | $2.237M | $2.481M |
YoY Change | 9.32% | 7.17% | 371.61% |
Income Tax | $664.3K | $541.9K | $650.0K |
% Of Pretax Income | 28.0% | 24.23% | 26.19% |
Net Earnings | $1.708M | $1.695M | $1.831M |
YoY Change | 26.69% | 13.21% | 364.11% |
Net Earnings / Revenue | 8.09% | 7.62% | 7.47% |
Basic Earnings Per Share | $0.58 | $0.59 | $0.66 |
Diluted Earnings Per Share | $0.51 | $0.52 | $0.57 |
COMMON SHARES | |||
Basic Shares Outstanding | 2.851M | 2.756M | |
Diluted Shares Outstanding | 3.249M | 3.213M |
Balance Sheet
Concept | 2019 Q4 | 2019 Q3 | 2019 Q2 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $2.233M | $3.250M | $739.7K |
YoY Change | -55.86% | -16.49% | -72.19% |
Cash & Equivalents | $2.232M | $3.250M | $739.7K |
Short-Term Investments | |||
Other Short-Term Assets | $3.125M | $3.241M | $3.538M |
YoY Change | 7.7% | 39.46% | 35.03% |
Inventory | $7.679M | $7.100M | $6.164M |
Prepaid Expenses | $703.0K | $632.0K | $672.5K |
Receivables | $14.00M | $13.15M | $15.97M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $27.04M | $26.74M | $26.41M |
YoY Change | 16.08% | 9.11% | 80.74% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $12.39M | $12.71M | $12.94M |
YoY Change | -6.84% | -6.93% | 350.75% |
Goodwill | $9.792M | $9.793M | $9.799M |
YoY Change | 2.19% | 39.38% | 334.37% |
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $88.05K | $88.05K | $95.26K |
YoY Change | -7.58% | -7.58% | |
Total Long-Term Assets | $35.45M | $36.09M | $36.65M |
YoY Change | 153.04% | 172.72% | 516.1% |
TOTAL ASSETS | |||
Total Short-Term Assets | $27.04M | $26.74M | $26.41M |
Total Long-Term Assets | $35.45M | $36.09M | $36.65M |
Total Assets | $62.49M | $62.84M | $63.06M |
YoY Change | 23.48% | 22.24% | 169.13% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $6.072M | $6.613M | $7.316M |
YoY Change | 17.44% | 32.53% | 197.06% |
Accrued Expenses | $3.281M | $2.519M | $2.517M |
YoY Change | -1.32% | 46.57% | 94.11% |
Deferred Revenue | |||
YoY Change | |||
Short-Term Debt | $0.00 | $200.0K | $200.0K |
YoY Change | -100.0% | -86.96% | -71.43% |
Long-Term Debt Due | $4.083M | $4.076M | $5.089M |
YoY Change | 206.21% | 205.71% | 917.79% |
Total Short-Term Liabilities | $16.29M | $17.99M | $22.57M |
YoY Change | -3.39% | 5.83% | 146.77% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $14.05M | $7.241M | $3.357M |
YoY Change | 71.49% | -32.94% | 212.47% |
Other Long-Term Liabilities | $8.513M | $8.618M | $9.160M |
YoY Change | |||
Total Long-Term Liabilities | $24.77M | $25.93M | $23.95M |
YoY Change | 18.06% | 12.16% | 431.07% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $16.29M | $17.99M | $22.57M |
Total Long-Term Liabilities | $24.77M | $25.93M | $23.95M |
Total Liabilities | $41.06M | $43.92M | $46.53M |
YoY Change | 8.5% | 9.47% | 240.66% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $16.53M | $14.78M | $13.08M |
YoY Change | 72.56% | 79.55% | 94.31% |
Common Stock | |||
YoY Change | |||
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $1.906M | $1.906M | $1.906M |
YoY Change | 0.0% | 0.0% | 0.0% |
Treasury Stock Shares | |||
Shareholders Equity | $21.43M | $18.92M | $16.54M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $62.49M | $62.84M | $63.06M |
YoY Change | 23.48% | 22.24% | 169.13% |
Cashflow Statement
Concept | 2019 Q4 | 2019 Q3 | 2019 Q2 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $1.708M | $1.695M | $1.831M |
YoY Change | 26.69% | 13.21% | 364.11% |
Depreciation, Depletion And Amortization | $571.9K | $378.1K | $376.0K |
YoY Change | 18.06% | -0.36% | 169.05% |
Cash From Operating Activities | $163.7K | $3.255M | -$1.220M |
YoY Change | -95.98% | 56.67% | -131.61% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$151.2K | -$176.3K | -$95.48K |
YoY Change | -26.36% | 21.96% | 36.4% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $0.00 | $0.00 | -$50.00K |
YoY Change | |||
Cash From Investing Activities | -$151.2K | -$176.3K | -$145.5K |
YoY Change | -101.72% | -99.13% | 107.84% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -1.030M | -567.9K | -586.8K |
YoY Change | -91.2% | -102.91% | -70.36% |
NET CHANGE | |||
Cash From Operating Activities | 163.7K | 3.255M | -1.220M |
Cash From Investing Activities | -151.2K | -176.3K | -145.5K |
Cash From Financing Activities | -1.030M | -567.9K | -586.8K |
Net Change In Cash | -1.018M | 2.510M | -1.952M |
YoY Change | -187.28% | 104.5% | -207.87% |
FREE CASH FLOW | |||
Cash From Operating Activities | $163.7K | $3.255M | -$1.220M |
Capital Expenditures | -$151.2K | -$176.3K | -$95.48K |
Free Cash Flow | $314.9K | $3.431M | -$1.125M |
YoY Change | -92.65% | 54.41% | -128.62% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2020Q4 | crawa |
Assets Other Noncurrent Total
AssetsOtherNoncurrentTotal
|
19170799 | |
CY2019Q4 | crawa |
Assets Other Noncurrent Total
AssetsOtherNoncurrentTotal
|
13830629 | |
CY2019 | crawa |
Cumulative Effect Of Accounting Change
CumulativeEffectOfAccountingChange
|
-30572 | |
CY2020 | crawa |
Deferred Income Tax Expense Benefit Noncash
DeferredIncomeTaxExpenseBenefitNoncash
|
222094 | |
CY2019 | crawa |
Deferred Income Tax Expense Benefit Noncash
DeferredIncomeTaxExpenseBenefitNoncash
|
548715 | |
CY2020Q4 | crawa |
Deferred Tax Assets Right Of Use Assets
DeferredTaxAssetsRightOfUseAssets
|
47351 | |
CY2020Q4 | crawa |
Deferred Tax Assets Valuation Allowance Excluding Reserves Current
DeferredTaxAssetsValuationAllowanceExcludingReservesCurrent
|
47319 | |
CY2019Q4 | crawa |
Deferred Tax Assets Valuation Allowance Excluding Reserves Current
DeferredTaxAssetsValuationAllowanceExcludingReservesCurrent
|
47319 | |
CY2020Q4 | crawa |
Deferred Tax Assets Valuation Allowance Reserves Current
DeferredTaxAssetsValuationAllowanceReservesCurrent
|
425000 | |
CY2019Q4 | crawa |
Deferred Tax Assets Valuation Allowance Reserves Current
DeferredTaxAssetsValuationAllowanceReservesCurrent
|
395000 | |
CY2020 | crawa |
Effective Income Tax Rate Reconciliation Return To Provision Adjustments And Other
EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustmentsAndOther
|
-289316 | |
CY2019 | crawa |
Effective Income Tax Rate Reconciliation Return To Provision Adjustments And Other
EffectiveIncomeTaxRateReconciliationReturnToProvisionAdjustmentsAndOther
|
-113533 | |
CY2020 | crawa |
Lessee Operating And Finance Lease Renewal Term
LesseeOperatingAndFinanceLeaseRenewalTerm
|
P10Y | |
CY2020Q4 | crawa |
Operating And Finance Lease Liability Current
OperatingAndFinanceLeaseLiabilityCurrent
|
1136300 | |
CY2019Q4 | crawa |
Operating And Finance Lease Liability Current
OperatingAndFinanceLeaseLiabilityCurrent
|
850664 | |
CY2020Q4 | crawa |
Operating And Finance Lease Liability Noncurrent
OperatingAndFinanceLeaseLiabilityNoncurrent
|
7901357 | |
CY2019Q4 | crawa |
Operating And Finance Lease Liability Noncurrent
OperatingAndFinanceLeaseLiabilityNoncurrent
|
8513448 | |
CY2020 | crawa |
Proceeds From Options And Warrants
ProceedsFromOptionsAndWarrants
|
||
CY2019 | crawa |
Proceeds From Options And Warrants
ProceedsFromOptionsAndWarrants
|
258950 | |
CY2019Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
3622153 | |
CY2020Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
1741901 | |
CY2019 | crawa |
Stock Issued During Period Value Warrant Exercised
StockIssuedDuringPeriodValueWarrantExercised
|
250000 | |
CY2020 | crawa |
Variable Consideration Policy Policy Text Blcok
VariableConsiderationPolicyPolicyTextBlcok
|
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"><div style="display: inline; text-decoration: underline;">Variable Consideration</div></div></div></div> <div style=" font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">The nature of the Company's contracts can give rise to several types of variable consideration, including claims, unpriced change orders, and liquidated damages and penalties. The Company recognizes revenue for variable consideration when it is probable that a significant reversal in the amount of cumulative revenue recognized will <div style="display: inline; font-style: italic; font: inherit;">not</div> occur. The Company estimates the amount of revenue to be recognized on variable consideration using the expected value (i.e., the sum of a probability-weighted amount) or the most likely amount method, whichever is expected to better predict the amount.</div> <div style=" font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </div> <div style=" font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">Estimates of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on assessment of legal enforceability, past performance, and all information (historical, current, and forecasted) that is reasonably available to the Company.</div></div></div></div> | |
CY2020 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2020 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--12-31 | |
CY2020 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2020 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2020 | |
CY2020 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2020-12-31 | |
CY2020 | dei |
Document Type
DocumentType
|
10-K | |
CY2020 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0000047307 | |
CY2020 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | |
CY2020 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2020 | dei |
Entity Filer Category
EntityFilerCategory
|
Non-accelerated Filer | |
CY2020 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | |
CY2020Q2 | dei |
Entity Public Float
EntityPublicFloat
|
14900193 | |
CY2020 | dei |
Entity Registrant Name
EntityRegistrantName
|
CRAWFORD UNITED Corp | |
CY2020 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2020 | dei |
Entity Small Business
EntitySmallBusiness
|
true | |
CY2020 | dei |
Entity Voluntary Filers
EntityVoluntaryFilers
|
No | |
CY2020 | dei |
Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
|
No | |
CY2020 | dei |
Security12g Title
Security12gTitle
|
Class A Common Shares, without par value | |
CY2020 | dei |
Trading Symbol
TradingSymbol
|
crawa | |
CY2020Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
9230032 | |
CY2019Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
6071522 | |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
12021692 | |
CY2019Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
14001795 | |
CY2020Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
2242924 | |
CY2019Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
3281445 | |
CY2020Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
5329438 | |
CY2020Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
6194276 | |
CY2020 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
3961777 | |
CY2019 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-2825127 | |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
2232499 | |
CY2019Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
1741901 | |
CY2019 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
348877 | |
CY2020 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
70849 | |
CY2020 | us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
4053338 | |
CY2019 | us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
-6085320 | |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
19973 | |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
18325 | |
CY2020 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
712529 | |
CY2019 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
381364 | |
CY2020Q4 | us-gaap |
Assets
Assets
|
74492783 | |
CY2019Q4 | us-gaap |
Assets
Assets
|
62488006 | |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
35174381 | |
CY2019Q4 | us-gaap |
Assets Current
AssetsCurrent
|
27038365 | |
CY2020 | us-gaap |
Basis Of Accounting
BasisOfAccounting
|
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline;" title="note1"></div><div style="display: inline; font-style: italic; font: inherit;">1.</div></div> <div style="display: inline; font-weight: bold;"> BASIS OF PRESENTATION</div></div> <div style=" font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </div> <div style=" font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;">The accompanying consolidated financial statements have been prepared in accordance with generally accepted accounting principles for financial information and with the instructions to Form <div style="display: inline; font-style: italic; font: inherit;">10</div>-K and Article <div style="display: inline; font-style: italic; font: inherit;">8</div> of Regulation S-<div style="display: inline; font-style: italic; font: inherit;">X.</div> In the opinion of management, all adjustments (consisting of normal recurring accruals) considered necessary for a fair presentation have been included.</div> <div style=" font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </div> <div style=" font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"><div style="display: inline; text-decoration: underline;">Principles of Consolidation</div></div></div><br /> The consolidated financial statements include the accounts of Crawford United and its wholly-owned domestic subsidiaries. Significant intercompany transactions and balances have been eliminated in the financial statements.</div></div> | |
CY2020 | us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
110548 | |
CY2019 | us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
74117 | |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
6194276 | |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
2232499 | |
CY2018Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
5057626 | |
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"><div style=" font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"><div style="display: inline; text-decoration: underline;">Concentration of Credit Risk</div></div></div><br /> The Company sells its products and services primarily to customers in the United States of America and to a lesser extent overseas. All sales are made in U.S. dollars. The Company extends normal credit terms to its customers. For the year ended <div style="display: inline; font-style: italic; font: inherit;"> December 31, 2020, </div>sales to <div style="display: inline; font-style: italic; font: inherit;">three</div> customers in the Commercial Air Handling segment were <div style="display: inline; font-style: italic; font: inherit;">15%</div> of consolidated sales of the Company, while <div style="display: inline; font-style: italic; font: inherit;">one</div> customer in the Aerospace Components segment accounted for <div style="display: inline; font-style: italic; font: inherit;">33%</div> of consolidated sales. For the year ended <div style="display: inline; font-style: italic; font: inherit;"> December 31, 2019, </div>sales to <div style="display: inline; font-style: italic; font: inherit;">three</div> customers in the Commercial Air Handling segment were <div style="display: inline; font-style: italic; font: inherit;">12%</div> of consolidated sales of the Company, while <div style="display: inline; font-style: italic; font: inherit;">one</div> customer in the Aerospace Components segment accounted for <div style="display: inline; font-style: italic; font: inherit;">29%</div> of consolidated sales.</div></div></div></div> | |
CY2020 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
97322 | |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
2429828 | |
CY2019Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
2207734 | |
CY2020 | us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
146736 | |
CY2020Q4 | us-gaap |
Deferred Revenue Current
DeferredRevenueCurrent
|
820002 | |
CY2019Q4 | us-gaap |
Deferred Revenue Current
DeferredRevenueCurrent
|
1998578 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
179171 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
164768 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Research
DeferredTaxAssetsTaxCreditCarryforwardsResearch
|
451247 | |
CY2020Q4 | us-gaap |
Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
|
3735557 | |
CY2019Q4 | us-gaap |
Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
|
2422379 | |
CY2020Q4 | us-gaap |
Convertible Notes Payable
ConvertibleNotesPayable
|
0 | |
CY2019Q4 | us-gaap |
Convertible Notes Payable
ConvertibleNotesPayable
|
200000 | |
CY2020 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
66138610 | |
CY2019 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
70123892 | |
CY2020 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
1443761 | |
CY2019 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
1890912 | |
CY2020 | us-gaap |
Debt Conversion Converted Instrument Amount1
DebtConversionConvertedInstrumentAmount1
|
||
CY2019 | us-gaap |
Debt Conversion Converted Instrument Amount1
DebtConversionConvertedInstrumentAmount1
|
848000 | |
CY2020 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
192093 | |
CY2019 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
548715 | |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
1957509 | |
CY2019Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
1765415 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Credit Carryforwards Research
DeferredTaxAssetsTaxCreditCarryforwardsResearch
|
556387 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Compensation
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
|
161212 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Compensation
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
|
163427 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
48812 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
279508 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
5009 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
|
4659 | |
CY2020Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
472319 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
442319 | |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
2429828 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
2207734 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
|
19600 | |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
|
92571 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
|
116524 | |
CY2020Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
2757740 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
2798040 | |
CY2019 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
315090 | |
CY2020 | us-gaap |
Depreciation
Depreciation
|
1707285 | |
CY2019 | us-gaap |
Depreciation
Depreciation
|
1645829 | |
CY2020 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
2458593 | |
CY2019 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
2054721 | |
CY2020 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
1.76 | |
CY2019 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
2.45 | |
CY2020Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.63 | |
CY2020Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.07 | |
CY2020Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.43 | |
CY2020Q4 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.63 | |
CY2019Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.63 | |
CY2019Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.66 | |
CY2019Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.59 | |
CY2019Q4 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.58 | |
CY2020 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
1.76 | |
CY2019 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
2.13 | |
CY2020Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.63 | |
CY2020Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.07 | |
CY2020Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.43 | |
CY2020Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.63 | |
CY2019Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.55 | |
CY2019Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.57 | |
CY2019Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.52 | |
CY2019Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.51 | |
CY2020 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.21 | |
CY2019 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.21 | |
CY2020Q4 | us-gaap |
Equity Securities Fv Ni
EquitySecuritiesFvNi
|
1534400 | |
CY2019Q4 | us-gaap |
Equity Securities Fv Ni
EquitySecuritiesFvNi
|
||
CY2020Q4 | us-gaap |
Equity Securities Fv Ni Cost
EquitySecuritiesFvNiCost
|
949293 | |
CY2020 | us-gaap |
Equity Securities Fv Ni Unrealized Gain
EquitySecuritiesFvNiUnrealizedGain
|
438371 | |
CY2020 | us-gaap |
Equity Securities Fv Ni Unrealized Gain Loss
EquitySecuritiesFvNiUnrealizedGainLoss
|
585107 | |
CY2020Q2 | us-gaap |
Gross Profit
GrossProfit
|
3499039 | |
CY2019 | us-gaap |
Gross Profit
GrossProfit
|
19574635 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
2271691 | |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
1559162 | |
CY2018Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
1177798 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
712530 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
672530 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
672530 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
672530 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
689197 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
9830000 | |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
5510000 | |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
7558309 | |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
3950838 | |
CY2020 | us-gaap |
Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
|
||
CY2019 | us-gaap |
Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
|
-10544 | |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
11505852 | |
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
9791745 | |
CY2020 | us-gaap |
Goodwill And Intangible Asset Impairment
GoodwillAndIntangibleAssetImpairment
|
0 | |
CY2020 | us-gaap |
Gross Profit
GrossProfit
|
18931290 | |
CY2020Q1 | us-gaap |
Gross Profit
GrossProfit
|
6208143 | |
CY2019 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
4164533 | |
CY2020 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-996956 | |
CY2019 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
32328 | |
CY2020 | us-gaap |
Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
|
1313178 | |
CY2019 | us-gaap |
Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
|
339030 | |
CY2020 | us-gaap |
Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
|
-1178576 | |
CY2019 | us-gaap |
Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
|
-3269190 | |
CY2020 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
434014 | |
CY2019 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
2180708 | |
CY2020Q3 | us-gaap |
Gross Profit
GrossProfit
|
4852417 | |
CY2020Q4 | us-gaap |
Gross Profit
GrossProfit
|
4371691 | |
CY2019Q1 | us-gaap |
Gross Profit
GrossProfit
|
4829888 | |
CY2019Q2 | us-gaap |
Gross Profit
GrossProfit
|
5226933 | |
CY2019Q3 | us-gaap |
Gross Profit
GrossProfit
|
4987563 | |
CY2019Q4 | us-gaap |
Gross Profit
GrossProfit
|
4530251 | |
CY2020 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
7475241 | |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
9419490 | |
CY2020 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1635854 | |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
2439627 | |
CY2020 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
1569801 | |
CY2019 | us-gaap |
Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
|
1978092 | |
CY2020 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
18715 | |
CY2019 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
|
23889 | |
CY2020 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
336654 | |
CY2019 | us-gaap |
Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
|
551179 | |
CY2020 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
956246 | |
CY2019 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
1815482 | |
CY2020 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
2752081 | |
CY2019 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
747632 | |
CY2020 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-2751191 | |
CY2020 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-80311 | |
CY2019 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-125324 | |
CY2020 | us-gaap |
Incremental Common Shares Attributable To Call Options And Warrants
IncrementalCommonSharesAttributableToCallOptionsAndWarrants
|
822 | |
CY2019 | us-gaap |
Incremental Common Shares Attributable To Call Options And Warrants
IncrementalCommonSharesAttributableToCallOptionsAndWarrants
|
428618 | |
CY2020 | us-gaap |
Interest Expense
InterestExpense
|
952192 | |
CY2019 | us-gaap |
Interest Expense
InterestExpense
|
1056843 | |
CY2020 | us-gaap |
Interest Paid Net
InterestPaidNet
|
831654 | |
CY2019 | us-gaap |
Interest Paid Net
InterestPaidNet
|
949280 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
1268341 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
1452087 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
2442521 | |
CY2020Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
3999920 | |
CY2019Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
2183170 | |
CY2020Q4 | us-gaap |
Inventory Gross
InventoryGross
|
11346305 | |
CY2019Q4 | us-gaap |
Inventory Gross
InventoryGross
|
7929296 | |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
11030960 | |
CY2019Q4 | us-gaap |
Inventory Net
InventoryNet
|
7678690 | |
CY2020Q4 | us-gaap |
Inventory Raw Materials
InventoryRawMaterials
|
3897133 | |
CY2019Q4 | us-gaap |
Inventory Raw Materials
InventoryRawMaterials
|
2945427 | |
CY2020Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
315345 | |
CY2019Q4 | us-gaap |
Inventory Valuation Reserves
InventoryValuationReserves
|
250606 | |
CY2020Q4 | us-gaap |
Inventory Work In Process
InventoryWorkInProcess
|
3449252 | |
CY2019Q4 | us-gaap |
Inventory Work In Process
InventoryWorkInProcess
|
2800699 | |
CY2019Q4 | us-gaap |
Investment Owned Balance Shares
InvestmentOwnedBalanceShares
|
0 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
11480178 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
|
4668151 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
1502178 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
1303601 | |
CY2020Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
1285820 | |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
74492783 | |
CY2019Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
62488006 | |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
17545070 | |
CY2019Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
16285001 | |
CY2020Q4 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
29415167 | |
CY2019Q4 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
24774473 | |
CY2020Q4 | us-gaap |
Line Of Credit Facility Remaining Borrowing Capacity
LineOfCreditFacilityRemainingBorrowingCapacity
|
9200000 | |
CY2019Q4 | us-gaap |
Line Of Credit Facility Remaining Borrowing Capacity
LineOfCreditFacilityRemainingBorrowingCapacity
|
16300000 | |
CY2020Q4 | us-gaap |
Loans Payable To Bank Current
LoansPayableToBankCurrent
|
1333333 | |
CY2019Q4 | us-gaap |
Loans Payable To Bank Current
LoansPayableToBankCurrent
|
1333333 | |
CY2020Q4 | us-gaap |
Long Term Loans From Bank
LongTermLoansFromBank
|
12174428 | |
CY2019Q4 | us-gaap |
Long Term Loans From Bank
LongTermLoansFromBank
|
6376594 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
4992660 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-2923239 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-10923608 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-796431 | |
CY2020 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
9892725 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
894543 | |
CY2020 | us-gaap |
Net Income Loss
NetIncomeLoss
|
5839387 | |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
6979863 | |
CY2020Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2075570 | |
CY2020Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
228837 | |
CY2020Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1426090 | |
CY2020Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2108890 | |
CY2019Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1745458 | |
CY2019Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1831479 | |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1694868 | |
CY2019Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1708058 | |
CY2020 | us-gaap |
Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
|
5839387 | |
CY2019 | us-gaap |
Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
|
6979863 | |
CY2020 | us-gaap |
Net Income Loss Available To Common Stockholders Diluted
NetIncomeLossAvailableToCommonStockholdersDiluted
|
5839387 | |
CY2019 | us-gaap |
Net Income Loss Available To Common Stockholders Diluted
NetIncomeLossAvailableToCommonStockholdersDiluted
|
6979863 | |
CY2020 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
22788 | |
CY2019 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-1091176 | |
CY2020Q4 | us-gaap |
Notes Payable Current
NotesPayableCurrent
|
2782479 | |
CY2019Q4 | us-gaap |
Notes Payable Current
NotesPayableCurrent
|
2749459 | |
CY2020 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
3 | |
CY2020 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
7452453 | |
CY2019 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
10510666 | |
CY2020Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
3138149 | |
CY2020Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
530520 | |
CY2020Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2126417 | |
CY2020Q4 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
1657368 | |
CY2019Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2571071 | |
CY2019Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2791553 | |
CY2019Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2558779 | |
CY2019Q4 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2589263 | |
CY2020 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
1500000 | |
CY2019 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
1600000 | |
CY2020Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
8856820 | |
CY2019Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
9224840 | |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.05 | |
CY2019Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.05 | |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P9Y | |
CY2019Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P11Y | |
CY2020Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
106638 | |
CY2019Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
88046 | |
CY2020 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
389873 | |
CY2019 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-34333 | |
CY2020 | us-gaap |
Payments For Proceeds From Productive Assets
PaymentsForProceedsFromProductiveAssets
|
574315 | |
CY2019 | us-gaap |
Payments For Proceeds From Productive Assets
PaymentsForProceedsFromProductiveAssets
|
746430 | |
CY2020 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
32272 | |
CY2019 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
||
CY2020 | us-gaap |
Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
|
9400000 | |
CY2019 | us-gaap |
Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
|
50001 | |
CY2020 | us-gaap |
Payments To Acquire Marketable Securities
PaymentsToAcquireMarketableSecurities
|
949293 | |
CY2019 | us-gaap |
Payments To Acquire Marketable Securities
PaymentsToAcquireMarketableSecurities
|
||
CY2019Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
1000000 | |
CY2020Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
657496 | |
CY2019Q4 | us-gaap |
Prepaid Expense Current
PrepaidExpenseCurrent
|
703002 | |
CY2020 | us-gaap |
Proceeds From Bank Debt
ProceedsFromBankDebt
|
12152802 | |
CY2019 | us-gaap |
Proceeds From Bank Debt
ProceedsFromBankDebt
|
2539598 | |
CY2020 | us-gaap |
Proceeds From Convertible Debt
ProceedsFromConvertibleDebt
|
||
CY2019 | us-gaap |
Proceeds From Convertible Debt
ProceedsFromConvertibleDebt
|
266880 | |
CY2020 | us-gaap |
Proceeds From Issuance Of Unsecured Debt
ProceedsFromIssuanceOfUnsecuredDebt
|
5133220 | |
CY2019 | us-gaap |
Proceeds From Issuance Of Unsecured Debt
ProceedsFromIssuanceOfUnsecuredDebt
|
||
CY2020 | us-gaap |
Proceeds From Sale Of Equity Method Investments
ProceedsFromSaleOfEquityMethodInvestments
|
1534400 | |
CY2020Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
16620221 | |
CY2019Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
16016325 | |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
11290783 | |
CY2019Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
12394172 | |
CY2020 | us-gaap |
Repayments Of Bank Debt
RepaymentsOfBankDebt
|
6393747 | |
CY2019 | us-gaap |
Repayments Of Bank Debt
RepaymentsOfBankDebt
|
4385211 | |
CY2020 | us-gaap |
Repayments Of Long Term Capital Lease Obligations
RepaymentsOfLongTermCapitalLeaseObligations
|
||
CY2019 | us-gaap |
Repayments Of Long Term Capital Lease Obligations
RepaymentsOfLongTermCapitalLeaseObligations
|
11158 | |
CY2020 | us-gaap |
Repayments Of Related Party Debt
RepaymentsOfRelatedPartyDebt
|
2187960 | |
CY2019 | us-gaap |
Repayments Of Related Party Debt
RepaymentsOfRelatedPartyDebt
|
1592298 | |
CY2020 | us-gaap |
Repayments Of Unsecured Debt
RepaymentsOfUnsecuredDebt
|
3679383 | |
CY2019 | us-gaap |
Repayments Of Unsecured Debt
RepaymentsOfUnsecuredDebt
|
||
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
22366470 | |
CY2019Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
16527083 | |
CY2020 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
85069900 | |
CY2019 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
89698527 | |
CY2020Q1 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
25281574 | |
CY2020Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
18576588 | |
CY2020Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
21277797 | |
CY2020Q4 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
19933941 | |
CY2019Q1 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
21836087 | |
CY2019Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
24514636 | |
CY2019Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
22244681 | |
CY2019Q4 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
21103124 | |
CY2020 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
11478837 | |
CY2019 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
9063969 | |
CY2020 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
296899 | |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
348877 | |
CY2019 | us-gaap |
Stock Issued During Period Value Conversion Of Convertible Securities
StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
|
1114879 | |
CY2020 | us-gaap |
Stock Issued During Period Value New Issues
StockIssuedDuringPeriodValueNewIssues
|
226050 | |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
27532546 | |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
21428532 | |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
12765485 | |
CY2020Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
1938052 | |
CY2019Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
1905780 | |
CY2020 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
32272 | |
CY2020 | us-gaap |
Unrealized Gain Loss On Investments
UnrealizedGainLossOnInvestments
|
585107 | |
CY2019 | us-gaap |
Unrealized Gain Loss On Investments
UnrealizedGainLossOnInvestments
|
||
CY2020 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic;"><div style="display: inline; text-decoration: underline;">Use of Estimates in the Preparation of Financial Statements</div></div></div><br /> The preparation of financial statements in conformity with generally accepted accounting principles requires management to make estimates and assumptions that <div style="display: inline; font-style: italic; font: inherit;"> may </div>affect the reported amounts of certain assets and liabilities and disclosure of contingencies at the date of the financial statements, and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.</div></div></div></div> | |
CY2020 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
3320553 | |
CY2019 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
3277857 | |
CY2020 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
3319731 | |
CY2019 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
2849239 |