2019 Q4 Form 10-K Financial Statement
#000114036121021895 Filed on June 22, 2021
Income Statement
Concept | 2019 Q4 | 2019 Q1 | 2018 Q4 |
---|---|---|---|
Revenue | $20.47M | $20.94M | $24.64M |
YoY Change | -16.92% | 2.15% | 0.55% |
Cost Of Revenue | $8.973M | $8.696M | $10.52M |
YoY Change | -14.66% | 11.32% | 14.17% |
Gross Profit | $11.50M | $12.25M | $14.12M |
YoY Change | -18.61% | -3.5% | -7.68% |
Gross Profit Margin | 56.16% | 58.47% | 57.32% |
Selling, General & Admin | |||
YoY Change | |||
% of Gross Profit | |||
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $268.6K | $495.4K | $488.0K |
YoY Change | -44.95% | 6.43% | 19.02% |
% of Gross Profit | 2.34% | 4.05% | 3.46% |
Operating Expenses | $12.66M | $11.28M | $12.70M |
YoY Change | -0.32% | 1.87% | 5.01% |
Operating Profit | -$1.160M | $2.213M | $1.427M |
YoY Change | -181.29% | 7.73% | -55.5% |
Interest Expense | -$3.880K | $32.00K | -$81.42K |
YoY Change | -95.23% | -50.5% | 35.7% |
% of Operating Profit | 1.45% | -5.71% | |
Other Income/Expense, Net | $32.99K | -$142.0K | $227.5K |
YoY Change | -85.5% | -260.03% | 2175.1% |
Pretax Income | -$1.130M | $2.071M | $1.573M |
YoY Change | -171.85% | -3.35% | -50.06% |
Income Tax | -$300.8K | $551.0K | $457.9K |
% Of Pretax Income | 26.61% | 29.11% | |
Net Earnings | -$829.0K | $1.520M | $1.115M |
YoY Change | -174.33% | 0.22% | -33.27% |
Net Earnings / Revenue | -4.05% | 7.26% | 4.53% |
Basic Earnings Per Share | -$0.09 | $0.17 | $0.12 |
Diluted Earnings Per Share | -$0.09 | $0.17 | $0.12 |
COMMON SHARES | |||
Basic Shares Outstanding | 9.020M | 9.010M | 9.144M |
Diluted Shares Outstanding | 9.020M | 9.011M | 9.144M |
Balance Sheet
Concept | 2019 Q4 | 2019 Q1 | 2018 Q4 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $25.06M | $17.68M | $24.07M |
YoY Change | 4.1% | -8.17% | 31.25% |
Cash & Equivalents | $15.91M | $12.68M | $24.07M |
Short-Term Investments | $9.152M | $5.000M | $0.00 |
Other Short-Term Assets | $297.0K | $280.4K | $331.8K |
YoY Change | -10.49% | 65.37% | 1.0% |
Inventory | $24.04M | $30.17M | $33.30M |
Prepaid Expenses | $1.537M | $1.245M | |
Receivables | $409.0K | $456.5K | $408.2K |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $52.52M | $50.50M | $59.82M |
YoY Change | -12.2% | -9.57% | 9.13% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $12.92M | $13.96M | $14.52M |
YoY Change | -11.0% | -8.51% | -6.76% |
Goodwill | $0.00 | $956.9K | $954.8K |
YoY Change | -100.0% | -0.35% | -0.85% |
Intangibles | |||
YoY Change | |||
Long-Term Investments | |||
YoY Change | |||
Other Assets | $345.0K | $379.7K | $386.1K |
YoY Change | -10.65% | 0.1% | 1.69% |
Total Long-Term Assets | $27.60M | $32.99M | $16.96M |
YoY Change | 62.66% | 86.75% | -6.06% |
TOTAL ASSETS | |||
Total Short-Term Assets | $52.52M | $50.50M | $59.82M |
Total Long-Term Assets | $27.60M | $32.99M | $16.96M |
Total Assets | $80.11M | $83.49M | $76.78M |
YoY Change | 4.34% | 13.58% | 5.37% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $5.753M | $897.2K | $2.154M |
YoY Change | 167.04% | -69.3% | -10.6% |
Accrued Expenses | $2.656M | $4.107M | $5.402M |
YoY Change | -50.83% | 15.81% | 7.07% |
Deferred Revenue | $0.00 | $647.3K | |
YoY Change | -100.0% | -28.53% | |
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | $0.00 | $519.5K | |
YoY Change | -100.0% | -15.43% | |
Total Short-Term Liabilities | $12.23M | $9.053M | $8.075M |
YoY Change | 51.47% | 11.55% | -4.14% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $8.449M | |
YoY Change | -100.0% | 25.03% | |
Other Long-Term Liabilities | $509.0K | $555.8K | $555.3K |
YoY Change | -8.34% | -6.94% | -6.95% |
Total Long-Term Liabilities | $509.0K | $555.8K | $9.004M |
YoY Change | -94.35% | -92.44% | 22.43% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $12.23M | $9.053M | $8.075M |
Total Long-Term Liabilities | $509.0K | $555.8K | $9.004M |
Total Liabilities | $12.74M | $9.608M | $17.08M |
YoY Change | -25.4% | -37.89% | 8.25% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $62.21M | $65.63M | $64.48M |
YoY Change | -3.51% | 6.56% | 7.32% |
Common Stock | $25.00K | $24.85K | $24.85K |
YoY Change | 0.61% | 0.17% | 0.32% |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | $9.773M | $9.752M | $9.038M |
YoY Change | 8.13% | 23.05% | 22.39% |
Treasury Stock Shares | $1.424M | $1.421M | $1.293M |
Shareholders Equity | $56.42M | $59.23M | $58.29M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $80.11M | $83.49M | $76.78M |
YoY Change | 4.34% | 13.58% | 5.37% |
Cashflow Statement
Concept | 2019 Q4 | 2019 Q1 | 2018 Q4 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | -$829.0K | $1.520M | $1.115M |
YoY Change | -174.33% | 0.22% | -33.27% |
Depreciation, Depletion And Amortization | $268.6K | $495.4K | $488.0K |
YoY Change | -44.95% | 6.43% | 19.02% |
Cash From Operating Activities | $2.552M | $3.133M | $8.406M |
YoY Change | -69.65% | 142.74% | 32.17% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$105.9K | $31.00K | -$200.7K |
YoY Change | -47.24% | 75.93% | -225.41% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | $26.04K | -$4.981M | $15.96K |
YoY Change | 63.16% | -518928.13% | -20.2% |
Cash From Investing Activities | -$79.82K | -$5.018M | -$184.7K |
YoY Change | -56.78% | 28377.38% | 31.92% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $715.0K | ||
YoY Change | 32.18% | ||
Debt Paid & Issued, Net | $8.968M | ||
YoY Change | |||
Cash From Financing Activities | 0.000 | -9.683M | -44.68K |
YoY Change | -100.0% | -36.17% | |
NET CHANGE | |||
Cash From Operating Activities | 2.552M | 3.133M | 8.406M |
Cash From Investing Activities | -79.82K | -5.018M | -184.7K |
Cash From Financing Activities | 0.000 | -9.683M | -44.68K |
Net Change In Cash | 2.472M | -11.39M | 8.177M |
YoY Change | -69.77% | -1073.57% | 32.95% |
FREE CASH FLOW | |||
Cash From Operating Activities | $2.552M | $3.133M | $8.406M |
Capital Expenditures | -$105.9K | $31.00K | -$200.7K |
Free Cash Flow | $2.657M | $3.102M | $8.607M |
YoY Change | -69.12% | 143.67% | 38.82% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2019Q4 | us-gaap |
Aoci Tax Attributable To Parent
AociTaxAttributableToParent
|
358646 | |
CY2017Q4 | us-gaap |
Aoci Tax Attributable To Parent
AociTaxAttributableToParent
|
240045 | |
CY2018Q4 | us-gaap |
Aoci Tax Attributable To Parent
AociTaxAttributableToParent
|
480112 | |
CY2018Q1 | us-gaap |
Aoci Tax Attributable To Parent
AociTaxAttributableToParent
|
240045 | |
CY2017Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
2409845 | |
CY2019Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
5752613 | |
CY2018Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
2154394 | |
CY2018Q2 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
3115778 | |
CY2019Q1 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
897196 | |
CY2018Q1 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
2922764 | |
CY2018Q3 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
3718393 | |
CY2019Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
408711 | |
CY2018Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
408170 | |
CY2017Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
461212 | |
CY2018Q1 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
503322 | |
CY2018Q2 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
496255 | |
CY2018Q3 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
418612 | |
CY2019Q1 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
456537 | |
CY2018Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
5401508 | |
CY2019Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
2656718 | |
CY2017Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
5045015 | |
CY2018Q1 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
3546711 | |
CY2019Q1 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
4107279 | |
CY2018Q3 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
3409797 | |
CY2018Q2 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
3136191 | |
CY2018Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-1444185 | |
CY2019Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-1080546 | |
CY2017Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-762313 | |
CY2018Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-1106079 | |
CY2018Q1 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-821305 | |
CY2019Q1 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-1129692 | |
CY2018Q3 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
-1017455 | |
CY2019Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
14551645 | |
CY2017Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
11765416 | |
CY2018Q4 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
13625261 | |
CY2018Q1 | us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
-226000 | |
us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
-3287750 | ||
us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
-957811 | ||
CY2019Q1 | us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
1612449 | |
CY2017 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
239599 | |
CY2019 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
770188 | |
CY2018 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
327629 | |
CY2017 | us-gaap |
Advertising Expense
AdvertisingExpense
|
5000000 | |
CY2018 | us-gaap |
Advertising Expense
AdvertisingExpense
|
3900000 | |
CY2019Q1 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
13941530 | |
CY2018Q3 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
12993965 | |
CY2018Q1 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
12177897 | |
CY2018Q2 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
12569534 | |
CY2019Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
5037102 | |
CY2018Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
4267138 | |
CY2017Q4 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
3939589 | |
CY2019Q1 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
4452960 | |
CY2018Q2 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
3992237 | |
CY2018Q3 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
4015996 | |
CY2018Q1 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
3968518 | |
CY2019 | us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
12375074 | |
CY2017 | us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
-12669 | |
CY2018 | us-gaap |
Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities
AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
|
3373375 | |
CY2019 | us-gaap |
Advertising Expense
AdvertisingExpense
|
3400000 | |
CY2017Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
22642 | |
CY2018Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
15703 | |
CY2019Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
15940 | |
CY2018Q2 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
9911 | |
CY2018Q1 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
16075 | |
CY2018Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
9839 | |
CY2019Q1 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
12940 | |
CY2019Q3 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
2704 | |
CY2019Q4 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
8387 | |
CY2019Q2 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
2290 | |
CY2019 | us-gaap |
Asset Impairment Charges
AssetImpairmentCharges
|
1001835 | |
CY2018 | us-gaap |
Asset Impairment Charges
AssetImpairmentCharges
|
285477 | |
CY2017 | us-gaap |
Asset Impairment Charges
AssetImpairmentCharges
|
0 | |
CY2018Q4 | us-gaap |
Assets
Assets
|
76781327 | |
CY2017Q4 | us-gaap |
Assets
Assets
|
72870607 | |
CY2019Q4 | us-gaap |
Assets
Assets
|
80111171 | |
CY2018Q3 | us-gaap |
Assets
Assets
|
75282832 | |
CY2018Q2 | us-gaap |
Assets
Assets
|
73838699 | |
CY2018Q1 | us-gaap |
Assets
Assets
|
73509471 | |
CY2019Q1 | us-gaap |
Assets
Assets
|
83488878 | |
CY2019Q4 | us-gaap |
Assets Current
AssetsCurrent
|
52515700 | |
CY2017Q4 | us-gaap |
Assets Current
AssetsCurrent
|
54810953 | |
CY2018Q4 | us-gaap |
Assets Current
AssetsCurrent
|
59816578 | |
CY2019Q1 | us-gaap |
Assets Current
AssetsCurrent
|
50497878 | |
CY2018Q3 | us-gaap |
Assets Current
AssetsCurrent
|
57506977 | |
CY2018Q1 | us-gaap |
Assets Current
AssetsCurrent
|
55843994 | |
CY2018Q2 | us-gaap |
Assets Current
AssetsCurrent
|
56176269 | |
CY2019 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-8165193 | |
CY2018 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
5987494 | |
CY2017 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
1220553 | |
CY2018Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
1170021 | |
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-1267885 | ||
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
872471 | ||
CY2019Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-11390978 | |
CY2018Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
24070351 | |
CY2017Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
18082857 | |
CY2016Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
16862304 | |
CY2019Q4 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
15905158 | |
CY2018Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
18955328 | |
CY2019Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
12679373 | |
CY2018Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
19252878 | |
CY2018Q3 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
16814972 | |
CY2017Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
18082857 | |
CY2019Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
15905158 | |
CY2018Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
24070351 | |
CY2018Q2 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
18955328 | |
CY2018Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
16814972 | |
CY2019Q1 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
12679373 | |
CY2018Q1 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
19252878 | |
CY2019Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2018Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2017Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2019Q1 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2018Q2 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2018Q3 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2018Q1 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2019Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10446563 | |
CY2018Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10353155 | |
CY2017Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10320069 | |
CY2018 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
3716493 | |
CY2018Q1 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10336717 | |
CY2018Q2 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10336717 | |
CY2019Q1 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10354563 | |
CY2018Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10336717 | |
CY2017Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.0024 | |
CY2019Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.0024 | |
CY2018Q4 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.0024 | |
CY2018Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.0024 | |
CY2018Q2 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.0024 | |
CY2018Q1 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.0024 | |
CY2019Q1 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.0024 | |
CY2018Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
24848 | |
CY2017Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
24768 | |
CY2019Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
25072 | |
CY2018Q2 | us-gaap |
Common Stock Value
CommonStockValue
|
24808 | |
CY2019Q1 | us-gaap |
Common Stock Value
CommonStockValue
|
24851 | |
CY2018Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
24808 | |
CY2018Q1 | us-gaap |
Common Stock Value
CommonStockValue
|
24808 | |
CY2019Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
25000000 | |
CY2017Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
25000000 | |
CY2018Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
25000000 | |
CY2019Q1 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
25000000 | |
CY2018Q1 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
25000000 | |
CY2018Q2 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
25000000 | |
CY2018Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
25000000 | |
CY2019 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
-1540142 | |
CY2017 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
2889871 | |
CY2019Q1 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
1834304 | |
CY2018Q2 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
872969 | |
CY2018Q1 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
1457664 | |
us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
3027958 | ||
us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
2330633 | ||
CY2018Q3 | us-gaap |
Comprehensive Income Net Of Tax Including Portion Attributable To Noncontrolling Interest
ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
|
697325 | |
CY2017 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
2999960 | |
CY2019 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
-582502 | |
CY2018 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
1540045 | |
CY2019 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
-559998 | |
CY2017 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
3934351 | |
CY2019Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
0 | |
CY2017Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
905657 | |
CY2018Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
647277 | |
CY2017 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
200000 | |
CY2019 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
100000 | |
CY2018 | us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
200000 | |
CY2019Q4 | us-gaap |
Contract With Customer Asset Accumulated Allowance For Credit Loss
ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
|
300000 | |
CY2017Q4 | us-gaap |
Contract With Customer Asset Accumulated Allowance For Credit Loss
ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
|
300000 | |
CY2018Q4 | us-gaap |
Contract With Customer Asset Accumulated Allowance For Credit Loss
ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
|
400000 | |
CY2019 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
32958708 | |
CY2018 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
32262624 | |
CY2017 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
33334934 | |
us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
21747628 | ||
CY2018Q3 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
6982380 | |
CY2018Q1 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
7811518 | |
CY2018Q2 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
6953730 | |
CY2019Q1 | us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
8696652 | |
us-gaap |
Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
|
14765248 | ||
CY2019 | us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
1655223 | |
CY2018 | us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
1798762 | |
CY2017 | us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
1884043 | |
CY2019Q1 | us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
494295 | |
us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
880094 | ||
CY2018Q1 | us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
466633 | |
us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
1312830 | ||
CY2019 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
-10477 | |
CY2017 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
544495 | |
CY2018 | us-gaap |
Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
|
356199 | |
CY2017 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
343954 | |
CY2018 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
223156 | |
CY2019 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
7341 | |
CY2018 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
879822 | |
CY2018Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
0 | |
CY2018Q1 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
0 | |
CY2018Q3 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
0 | |
CY2017Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
0 | |
CY2018Q2 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
0 | |
CY2019Q1 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
0 | |
CY2018 | us-gaap |
Deferred Revenue Revenue Recognized1
DeferredRevenueRevenueRecognized1
|
1900000 | |
CY2019 | us-gaap |
Deferred Revenue Revenue Recognized1
DeferredRevenueRevenueRecognized1
|
1100000 | |
CY2017 | us-gaap |
Deferred Revenue Revenue Recognized1
DeferredRevenueRevenueRecognized1
|
2100000 | |
CY2017Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
1130905 | |
CY2018Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
1092293 | |
CY2019Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
427333 | |
CY2018Q2 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
1285548 | |
CY2018Q1 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
1048140 | |
CY2019Q1 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
908500 | |
CY2018Q3 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
1421196 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
|
0 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
|
32670 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Goodwill And Intangible Assets
DeferredTaxAssetsGoodwillAndIntangibleAssets
|
0 | |
CY2018Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
1054895 | |
CY2017Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
1156146 | |
CY2019Q4 | us-gaap |
Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
|
829712 | |
CY2017 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-59918 | |
CY2019 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-94001 | |
CY2018 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
194735 | |
CY2019 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-130465 | |
CY2018 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
273409 | |
CY2017 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-74519 | |
CY2018 | us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
257249 | |
CY2019 | us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
-334343 | |
CY2017 | us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
638056 | |
us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
-290291 | ||
CY2019Q1 | us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
183793 | |
CY2018Q1 | us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
82765 | |
us-gaap |
Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
|
-154643 | ||
CY2019 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
-12905 | |
CY2018 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
42045 | |
CY2017 | us-gaap |
Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
|
38036 | |
CY2018 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
36629 | |
CY2017 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-52637 | |
CY2019 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-23559 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
459196 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
344578 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
|
337904 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
468438 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
542820 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
|
578029 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
2287051 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
1257045 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
2147188 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
427333 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
1130905 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
|
1092293 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
1638917 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
2407501 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Gross
DeferredTaxAssetsGross
|
2495401 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
|
0 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
|
48878 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
|
67642 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
0 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Bonuses
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses
|
363710 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Bonuses
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses
|
250355 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Bonuses
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBonuses
|
0 | |
CY2017Q4 | us-gaap |
Deferred Tax Liabilities Deferred Expense
DeferredTaxLiabilitiesDeferredExpense
|
0 | |
CY2018Q4 | us-gaap |
Deferred Tax Liabilities Deferred Expense
DeferredTaxLiabilitiesDeferredExpense
|
0 | |
CY2018 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
0 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
51430 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
29332 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
|
46165 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
0 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Other
DeferredTaxAssetsOther
|
25 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Deferred Expense
DeferredTaxLiabilitiesDeferredExpense
|
90079 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Returns And Allowances
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances
|
52205 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Returns And Allowances
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances
|
61251 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Returns And Allowances
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsReturnsAndAllowances
|
119404 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
0 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
227489 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
|
222538 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Deferred Rent
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
|
144699 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Deferred Rent
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
|
0 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Deferred Rent
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsDeferredRent
|
0 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Unrealized Currency Losses
DeferredTaxAssetsUnrealizedCurrencyLosses
|
480112 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Unrealized Currency Losses
DeferredTaxAssetsUnrealizedCurrencyLosses
|
240045 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Unrealized Currency Losses
DeferredTaxAssetsUnrealizedCurrencyLosses
|
359078 | |
CY2018Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
260313 | |
CY2019Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
381872 | |
CY2017Q4 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
208350 | |
CY2017Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
1004163 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
739633 | |
CY2018Q4 | us-gaap |
Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
|
897494 | |
CY2019Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
0 | |
CY2017Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
151983 | |
CY2018Q4 | us-gaap |
Deferred Tax Liabilities Goodwill And Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssets
|
157401 | |
CY2017 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
0 | |
CY2019 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
0 | |
CY2017 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
300000 | |
CY2019 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
300000 | |
CY2018 | us-gaap |
Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
|
400000 | |
CY2017 | us-gaap |
Depreciation
Depreciation
|
1900000 | |
CY2018 | us-gaap |
Depreciation
Depreciation
|
1800000 | |
CY2019 | us-gaap |
Depreciation
Depreciation
|
1700000 | |
CY2017 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.27 | |
CY2018 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.48 | |
CY2019 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.21 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.36 | ||
CY2018Q4 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.12 | |
CY2019Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.19 | |
CY2019Q4 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.09 | |
us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
-380975 | ||
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Enacted Tax Rate
EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
|
0 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Enacted Tax Rate
EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
|
0 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Enacted Tax Rate
EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
|
0.2 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
|
-0.03 | |
CY2019Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.17 | |
CY2018Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.13 | |
CY2018Q3 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.07 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.29 | ||
CY2018Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.16 | |
CY2019Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
-0.10 | |
CY2017 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.27 | |
CY2018 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.48 | |
CY2019 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.21 | |
CY2018Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.07 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.36 | ||
CY2019Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.17 | |
CY2018Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.13 | |
CY2018Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.16 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.29 | ||
CY2019Q3 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.19 | |
CY2018Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.12 | |
CY2019Q4 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.09 | |
CY2019Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
-0.10 | |
CY2019 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
222878 | |
CY2017 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
260096 | |
CY2018 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
-666879 | |
us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
-417036 | ||
CY2019Q1 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
177495 | |
CY2018Q1 | us-gaap |
Effect Of Exchange Rate On Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
|
-103014 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
|
0.03 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
|
0 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
|
0.01 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
|
0.03 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
|
0 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Prior Year Income Taxes
EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes
|
0 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Prior Year Income Taxes
EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes
|
0.03 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Prior Year Income Taxes
EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes
|
0 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
0.01 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
0.01 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
-0.05 | |
us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.35 | ||
CY2018 | 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 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.34 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Exempt Income
EffectiveIncomeTaxRateReconciliationTaxExemptIncome
|
0.01 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Exempt Income
EffectiveIncomeTaxRateReconciliationTaxExemptIncome
|
-0.06 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Exempt Income
EffectiveIncomeTaxRateReconciliationTaxExemptIncome
|
0 | |
CY2019 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.27 | |
CY2018 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.29 | |
CY2017 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.61 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.05 | |
CY2019 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.04 | |
CY2019Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
1104757 | |
CY2017Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
2904294 | |
CY2018Q4 | us-gaap |
Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
|
2762170 | |
CY2019Q4 | us-gaap |
Fair Value Assets Level1 To Level2 Transfers Amount
FairValueAssetsLevel1ToLevel2TransfersAmount
|
0 | |
CY2018Q4 | us-gaap |
Fair Value Assets Level1 To Level2 Transfers Amount
FairValueAssetsLevel1ToLevel2TransfersAmount
|
0 | |
CY2017Q4 | us-gaap |
Fair Value Assets Level1 To Level2 Transfers Amount
FairValueAssetsLevel1ToLevel2TransfersAmount
|
0 | |
CY2019Q4 | us-gaap |
Fair Value Assets Level2 To Level1 Transfers Amount
FairValueAssetsLevel2ToLevel1TransfersAmount
|
0 | |
CY2017Q4 | us-gaap |
Fair Value Assets Level2 To Level1 Transfers Amount
FairValueAssetsLevel2ToLevel1TransfersAmount
|
0 | |
CY2018Q4 | us-gaap |
Fair Value Assets Level2 To Level1 Transfers Amount
FairValueAssetsLevel2ToLevel1TransfersAmount
|
0 | |
CY2019 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Asset Transfers Net
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
|
0 | |
CY2018 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Asset Transfers Net
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
|
0 | |
CY2017 | us-gaap |
Fair Value Measurement With Unobservable Inputs Reconciliation Recurring Basis Asset Transfers Net
FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisAssetTransfersNet
|
0 | |
CY2017Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
688147 | |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
547369 | |
CY2018Q4 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
690869 | |
CY2019Q1 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
714000 | |
CY2018Q2 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
712000 | |
CY2018Q1 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
711000 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
712000 | |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
554369 | |
CY2018Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
707369 | |
CY2017Q4 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
707369 | |
CY2018Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
16500 | |
CY2019Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
7000 | |
CY2017Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
19222 | |
CY2018Q2 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
18083 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
17166 | |
CY2018Q1 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
18667 | |
CY2019Q1 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
15833 | |
CY2018 | us-gaap |
Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
|
406832 | |
CY2019 | us-gaap |
Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
|
-137241 | |
CY2017 | us-gaap |
Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
|
-32999 | |
us-gaap |
Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
|
215866 | ||
us-gaap |
Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
|
136898 | ||
CY2019Q1 | us-gaap |
Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
|
-136267 | |
CY2018Q1 | us-gaap |
Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
|
121723 | |
CY2018 | us-gaap |
Foreign Currency Transaction Gain Loss Realized
ForeignCurrencyTransactionGainLossRealized
|
400000 | |
CY2017 | us-gaap |
Foreign Currency Transaction Gain Loss Realized
ForeignCurrencyTransactionGainLossRealized
|
100000 | |
CY2017 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-3139 | |
CY2019 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-8795 | |
CY2018 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-1321 | |
CY2018Q1 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-1929 | |
us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-4556 | ||
CY2019Q1 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
3794 | |
us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-4556 | ||
CY2019Q4 | us-gaap |
Goodwill
Goodwill
|
0 | |
CY2017Q4 | us-gaap |
Goodwill
Goodwill
|
962949 | |
CY2018Q4 | us-gaap |
Goodwill
Goodwill
|
954765 | |
CY2018Q3 | us-gaap |
Goodwill
Goodwill
|
960304 | |
CY2018Q1 | us-gaap |
Goodwill
Goodwill
|
960353 | |
CY2018Q2 | us-gaap |
Goodwill
Goodwill
|
958464 | |
CY2019Q1 | us-gaap |
Goodwill
Goodwill
|
956945 | |
CY2019Q4 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
1000000 | |
CY2017 | us-gaap |
Gross Profit
GrossProfit
|
49085661 | |
CY2018 | us-gaap |
Gross Profit
GrossProfit
|
50940945 | |
CY2019 | us-gaap |
Gross Profit
GrossProfit
|
41959452 | |
us-gaap |
Gross Profit
GrossProfit
|
24922552 | ||
CY2018Q3 | us-gaap |
Gross Profit
GrossProfit
|
11895883 | |
us-gaap |
Gross Profit
GrossProfit
|
36818435 | ||
CY2019Q1 | us-gaap |
Gross Profit
GrossProfit
|
12244670 | |
CY2018Q1 | us-gaap |
Gross Profit
GrossProfit
|
12689060 | |
CY2018Q2 | us-gaap |
Gross Profit
GrossProfit
|
12233492 | |
CY2019Q3 | us-gaap |
Gross Profit
GrossProfit
|
8848648 | |
CY2018Q4 | us-gaap |
Gross Profit
GrossProfit
|
14122510 | |
CY2019Q4 | us-gaap |
Gross Profit
GrossProfit
|
11495688 | |
CY2019Q2 | us-gaap |
Gross Profit
GrossProfit
|
9370446 | |
CY2017Q4 | us-gaap |
Held To Maturity Securities Current
HeldToMaturitySecuritiesCurrent
|
0 | |
CY2018Q4 | us-gaap |
Held To Maturity Securities Current
HeldToMaturitySecuritiesCurrent
|
0 | |
CY2019Q4 | us-gaap |
Held To Maturity Securities Current
HeldToMaturitySecuritiesCurrent
|
9152166 | |
CY2018Q3 | us-gaap |
Held To Maturity Securities Current
HeldToMaturitySecuritiesCurrent
|
0 | |
CY2019Q1 | us-gaap |
Held To Maturity Securities Current
HeldToMaturitySecuritiesCurrent
|
5006578 | |
CY2018 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
285477 | |
CY2019 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
1001835 | |
CY2017 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
0 | |
CY2017Q4 | us-gaap |
Income Tax Expense Benefit Continuing Operations Adjustment Of Deferred Tax Asset Liability
IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability
|
402135 | |
CY2019 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
-2594244 | |
CY2018 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
6211819 | |
CY2017 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
6338276 | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
3778639 | ||
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
4638669 | ||
CY2018Q3 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
860030 | |
CY2018Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
1635766 | |
CY2019Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
2071016 | |
CY2018Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
2142873 | |
CY2017 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
3859832 | |
CY2018 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1813454 | |
CY2019 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-690463 | |
CY2018Q3 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
251329 | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1355569 | ||
CY2019Q1 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
551205 | |
CY2018Q1 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
626217 | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1104240 | ||
CY2018Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
478023 | |
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
1716588 | ||
us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-1920897 | ||
CY2017 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
-1148313 | |
CY2019 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
3499627 | |
CY2018Q1 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-1012412 | |
us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
721717 | ||
CY2019Q1 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-1281147 | |
us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
1403219 | ||
CY2018 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
314937 | |
CY2017 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-2266301 | |
CY2019 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-2718611 | |
CY2019 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
714620 | |
CY2017 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
2243018 | |
CY2018 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
1361400 | |
CY2019 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
325691 | |
CY2018 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
-583281 | |
CY2017 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
-365622 | |
us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
-422302 | ||
CY2019Q1 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
41970 | |
us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
-352313 | ||
CY2018Q1 | us-gaap |
Increase Decrease In Other Noncurrent Assets
IncreaseDecreaseInOtherNoncurrentAssets
|
-77175 | |
CY2017 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
0 | |
CY2019 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
96492 | |
CY2018 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
0 | |
CY2019Q1 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
193647 | |
CY2018Q1 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
1197098 | |
us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
0 | ||
us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
0 | ||
CY2017 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-88445 | |
CY2018 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-49155 | |
CY2019 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
22703 | |
CY2018Q1 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
298158 | |
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
10900 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
22534 | ||
CY2019Q1 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
56063 | |
CY2018 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-148340 | |
CY2017 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
764889 | |
CY2019Q1 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-1155895 | |
us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-1652826 | ||
CY2018Q1 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
-532200 | |
CY2018Q3 | us-gaap |
Interest Expense
InterestExpense
|
80710 | |
CY2018Q2 | us-gaap |
Interest Expense
InterestExpense
|
78182 | |
us-gaap |
Interest Expense
InterestExpense
|
223534 | ||
CY2019Q1 | us-gaap |
Interest Expense
InterestExpense
|
32383 | |
us-gaap |
Interest Expense
InterestExpense
|
142824 | ||
CY2018Q1 | us-gaap |
Interest Expense
InterestExpense
|
64642 | |
CY2018 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
795609 | |
CY2019 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
1219596 | |
us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
418970 | ||
CY2018Q1 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
-136504 | |
us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
202651 | ||
CY2019Q1 | us-gaap |
Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
|
-108710 | |
CY2017 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
2978285 | |
CY2019 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-9329998 | |
CY2018 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-1034430 | |
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
3961731 | ||
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
688434 | ||
CY2019Q1 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-3172163 | |
CY2018Q1 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-521525 | |
CY2019 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-596071 | |
CY2018 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-71915 | |
CY2017 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-66812 | |
us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-165857 | ||
CY2018Q1 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-1620091 | |
us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-34501 | ||
CY2019Q1 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-32552 | |
CY2019 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
9203 | |
CY2017 | us-gaap |
Interest Expense
InterestExpense
|
205555 | |
CY2018 | us-gaap |
Interest Expense
InterestExpense
|
304957 | |
CY2019 | us-gaap |
Interest Expense
InterestExpense
|
36260 | |
CY2017 | us-gaap |
Interest Paid Net
InterestPaidNet
|
205555 | |
CY2018 | us-gaap |
Interest Paid Net
InterestPaidNet
|
304957 | |
CY2019 | us-gaap |
Interest Paid Net
InterestPaidNet
|
36260 | |
CY2017Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
32042251 | |
CY2018Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
31263806 | |
CY2019Q4 | us-gaap |
Inventory Finished Goods
InventoryFinishedGoods
|
20575216 | |
CY2017Q4 | us-gaap |
Inventory Work In Process And Raw Materials
InventoryWorkInProcessAndRawMaterials
|
1155680 | |
CY2019Q4 | us-gaap |
Inventory Work In Process And Raw Materials
InventoryWorkInProcessAndRawMaterials
|
717053 | |
CY2018Q4 | us-gaap |
Inventory Work In Process And Raw Materials
InventoryWorkInProcessAndRawMaterials
|
919202 | |
CY2017Q4 | us-gaap |
Inventory Net
InventoryNet
|
34546084 | |
CY2019Q4 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
1837187 | |
CY2019Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
1309459 | |
CY2018Q4 | us-gaap |
Inventory Net
InventoryNet
|
33302549 | |
CY2019Q4 | us-gaap |
Inventory Net
InventoryNet
|
24041827 | |
CY2018Q3 | us-gaap |
Inventory Net
InventoryNet
|
38411757 | |
CY2019Q1 | us-gaap |
Inventory Net
InventoryNet
|
30174483 | |
CY2018Q2 | us-gaap |
Inventory Net
InventoryNet
|
35122333 | |
CY2018Q1 | us-gaap |
Inventory Net
InventoryNet
|
34277634 | |
CY2019Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
3891153 | |
CY2019Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
|
3697717 | |
CY2019Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
16314566 | |
CY2019Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
1722991 | |
CY2019Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
2411124 | |
CY2019Q4 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
3282122 | |
CY2019 | us-gaap |
Lease Cost
LeaseCost
|
5046593 | |
CY2017 | us-gaap |
Lease And Rental Expense
LeaseAndRentalExpense
|
4600000 | |
CY2018 | us-gaap |
Lease And Rental Expense
LeaseAndRentalExpense
|
5000000 | |
CY2018Q1 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
6758739 | |
CY2018Q3 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
8180613 | |
CY2018Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
76781327 | |
CY2019Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
80111171 | |
CY2017Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
72870607 | |
CY2019Q1 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
83488878 | |
CY2018Q1 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
73509471 | |
CY2018Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
75282832 | |
CY2018Q2 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
73838699 | |
CY2019Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
12232079 | |
CY2017Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
8423800 | |
CY2018Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
8075418 | |
CY2019Q1 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
9052636 | |
CY2018Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
7302246 | |
CY2018Q1 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
8115177 | |
CY2018Q2 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
8146118 | |
CY2018Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
519516 | |
CY2017Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
614311 | |
CY2019Q4 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
0 | |
CY2018Q1 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
1153931 | |
CY2018Q2 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
1740556 | |
CY2018Q3 | us-gaap |
Long Term Debt Current
LongTermDebtCurrent
|
174056 | |
CY2017Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
6757419 | |
CY2019Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
0 | |
CY2018Q4 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
8448502 | |
CY2018Q2 | us-gaap |
Long Term Debt Noncurrent
LongTermDebtNoncurrent
|
6614112 | |
CY2017 | us-gaap |
Marketing Expense
MarketingExpense
|
200000 | |
CY2018 | us-gaap |
Marketing Expense
MarketingExpense
|
200000 | |
CY2018 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-56978 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-9703217 | |
CY2017 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
150718 | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-12299 | ||
CY2018Q1 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
0 | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-12248 | ||
CY2019Q1 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-9682635 | |
CY2018 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
7771740 | |
CY2017 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
2465775 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
10471293 | |
CY2019Q1 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
3132260 | |
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
-4650 | ||
CY2018Q1 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
1290656 | |
CY2019 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-9156147 | |
CY2017 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-1656036 | |
CY2018 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-1060389 | |
CY2019Q4 | us-gaap |
Number Of Stores
NumberOfStores
|
115 | |
CY2019 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
1 | |
CY2018 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
2 | |
CY2018 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
2 | |
CY2019 | us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
1 | |
CY2017Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
0 | |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-414833 | ||
CY2018Q1 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-17621 | |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-869961 | ||
CY2019Q1 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-5018098 | |
CY2017 | us-gaap |
Net Income Loss
NetIncomeLoss
|
2478444 | |
CY2019 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-1903781 | |
CY2018 | us-gaap |
Net Income Loss
NetIncomeLoss
|
4398365 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
2674399 | ||
CY2018Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1516656 | |
CY2019Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1519811 | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
3283100 | ||
CY2018Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
608701 | |
CY2018Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1157743 | |
CY2019Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-829473 | |
CY2019Q3 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-1718452 | |
CY2019Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
-875667 | |
CY2018Q4 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1115265 | |
CY2017 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-38443 | |
CY2019 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
3965 | |
CY2018 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
248616 | |
us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
142396 | ||
us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
102532 | ||
CY2018Q2 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
53660 | |
CY2018Q3 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-39864 | |
CY2018Q1 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
88736 | |
CY2019Q1 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-142001 | |
CY2019Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
3822748 | |
CY2018Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
0 | |
CY2019Q1 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
4048161 | |
CY2019Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.041 | |
CY2018Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
0 | |
CY2019Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
10654631 | |
CY2017Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
0 | |
CY2019Q1 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
13234659 | |
CY2019 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
4078695 | |
CY2018Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
0 | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
3636243 | ||
CY2018 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-681872 | |
CY2019 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
363639 | |
CY2017 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
411427 | |
us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-255142 | ||
us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-343766 | ||
CY2019Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
13897422 | |
CY2017Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
0 | |
CY2019Q1 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
16769384 | |
CY2019Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P6Y | |
CY2019Q4 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
14477379 | |
CY2019 | us-gaap |
Operating Lease Right Of Use Asset Amortization Expense
OperatingLeaseRightOfUseAssetAmortizationExpense
|
3481931 | |
CY2018 | us-gaap |
Operating Lease Right Of Use Asset Amortization Expense
OperatingLeaseRightOfUseAssetAmortizationExpense
|
0 | |
CY2017 | us-gaap |
Operating Lease Right Of Use Asset Amortization Expense
OperatingLeaseRightOfUseAssetAmortizationExpense
|
0 | |
CY2019Q1 | us-gaap |
Operating Lease Right Of Use Asset Amortization Expense
OperatingLeaseRightOfUseAssetAmortizationExpense
|
865050 | |
CY2018Q4 | us-gaap |
Operating Leases Future Minimum Payments Due Current
OperatingLeasesFutureMinimumPaymentsDueCurrent
|
4417806 | |
CY2018Q4 | us-gaap |
Operating Leases Future Minimum Payments Due Thereafter
OperatingLeasesFutureMinimumPaymentsDueThereafter
|
2139218 | |
CY2018Q4 | us-gaap |
Operating Leases Future Minimum Payments Due In Two Years
OperatingLeasesFutureMinimumPaymentsDueInTwoYears
|
3750324 | |
CY2018Q4 | us-gaap |
Operating Leases Future Minimum Payments Due In Five Years
OperatingLeasesFutureMinimumPaymentsDueInFiveYears
|
1289874 | |
CY2018 | us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
44692265 | |
CY2019 | us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
43555826 | |
CY2017 | us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
42708942 | |
CY2018Q1 | us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
10634923 | |
us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
21286309 | ||
CY2019Q1 | us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
10031653 | |
us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
32282298 | ||
CY2018Q2 | us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
10651386 | |
CY2018Q3 | us-gaap |
Operating Costs And Expenses
OperatingCostsAndExpenses
|
10995989 | |
CY2018Q4 | us-gaap |
Operating Leases Future Minimum Payments Due
OperatingLeasesFutureMinimumPaymentsDue
|
16742464 | |
CY2018Q4 | us-gaap |
Operating Leases Future Minimum Payments Due In Three Years
OperatingLeasesFutureMinimumPaymentsDueInThreeYears
|
3042779 | |
CY2018Q4 | us-gaap |
Operating Leases Future Minimum Payments Due In Four Years
OperatingLeasesFutureMinimumPaymentsDueInFourYears
|
2102463 | |
CY2017 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
6376719 | |
CY2018 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
5963203 | |
CY2019 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-2598209 | |
CY2018Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2054137 | |
CY2019Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
2213017 | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
4536137 | ||
CY2018Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
1582106 | |
CY2018Q3 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
899894 | |
CY2018Q3 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
88624 | |
CY2019Q1 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
314493 | |
CY2018Q1 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-58992 | |
CY2018Q2 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
|
-284774 | |
CY2017 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Translation Adjustment Tax
OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
|
500000 | |
CY2018 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Translation Adjustment Tax
OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
|
-200000 | |
CY2019 | us-gaap |
Other Comprehensive Income Loss Foreign Currency Translation Adjustment Tax
OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
|
100000 | |
CY2017Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
328522 | |
CY2019 | us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
18094775 | |
CY2017 | us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
0 | |
CY2019Q1 | us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
4999750 | |
CY2019 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
268961 | |
CY2018 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1088328 | |
CY2017 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1691999 | |
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
421861 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
887679 | ||
CY2018Q1 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
17621 | |
CY2019Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
296994 | |
CY2018Q2 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
163016 | |
CY2019Q1 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
280406 | |
CY2018Q3 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
383336 | |
CY2018Q1 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
169562 | |
CY2019Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
344816 | |
CY2018Q4 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
331805 | |
CY2018Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
386107 | |
CY2017Q4 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
379695 | |
CY2018Q1 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
379292 | |
CY2019Q1 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
379661 | |
CY2018Q2 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
384744 | |
CY2018Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
387487 | |
CY2019Q4 | us-gaap |
Other Inventory In Transit
OtherInventoryInTransit
|
2749558 | |
CY2017Q4 | us-gaap |
Other Inventory In Transit
OtherInventoryInTransit
|
1348153 | |
CY2018Q4 | us-gaap |
Other Inventory In Transit
OtherInventoryInTransit
|
1119541 | |
CY2019Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
508907 | |
CY2018Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
555296 | |
CY2017Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
596770 | |
CY2019Q1 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
555778 | |
CY2018Q3 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
598188 | |
CY2018Q1 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
597243 | |
CY2018Q2 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
597716 | |
CY2019 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
40225 | |
CY2017 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
167112 | |
CY2018 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
553573 | |
CY2018Q2 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
131842 | |
CY2019Q1 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-109618 | |
CY2018Q1 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
153378 | |
us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
326066 | ||
CY2018Q3 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
40846 | |
us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
285220 | ||
CY2019Q4 | us-gaap |
Other Prepaid Expense Current
OtherPrepaidExpenseCurrent
|
1081859 | |
CY2018Q4 | us-gaap |
Other Prepaid Expense Current
OtherPrepaidExpenseCurrent
|
1283795 | |
CY2017Q4 | us-gaap |
Other Prepaid Expense Current
OtherPrepaidExpenseCurrent
|
1392278 | |
CY2018Q2 | us-gaap |
Other Prepaid Expense Current
OtherPrepaidExpenseCurrent
|
1439337 | |
CY2018Q3 | us-gaap |
Other Prepaid Expense Current
OtherPrepaidExpenseCurrent
|
1412506 | |
CY2019Q1 | us-gaap |
Other Prepaid Expense Current
OtherPrepaidExpenseCurrent
|
1592043 | |
CY2018Q1 | us-gaap |
Other Prepaid Expense Current
OtherPrepaidExpenseCurrent
|
1640598 | |
CY2017 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
0 | |
CY2018 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
1653266 | |
CY2019 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
735199 | |
us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
995238 | ||
CY2019Q1 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
714617 | |
us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
995186 | ||
CY2018Q1 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
540940 | |
CY2018 | us-gaap |
Payments To Acquire Short Term Investments
PaymentsToAcquireShortTermInvestments
|
0 | |
CY2019Q1 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
30900 | |
CY2019Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
59230090 | |
CY2017Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | |
CY2018Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | |
CY2018Q3 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | |
CY2018Q2 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | |
CY2019Q1 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | |
CY2018Q1 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | |
CY2017Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
20000000 | |
CY2018Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
20000000 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
20000000 | |
CY2018Q1 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
20000000 | |
CY2019Q1 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
20000000 | |
CY2018Q2 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
20000000 | |
CY2018Q3 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
20000000 | |
CY2017Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.10 | |
CY2019Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.10 | |
CY2018Q4 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.10 | |
CY2019Q1 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.10 | |
CY2018Q3 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.10 | |
CY2018Q2 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.10 | |
CY2018Q1 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.10 | |
CY2017Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2018Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2018Q1 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2019Q1 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2018Q2 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2018Q3 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2017Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2019Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2018Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2018Q1 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2018Q3 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2019Q1 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2018Q2 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2018Q4 | us-gaap |
Prepaid Taxes
PrepaidTaxes
|
419908 | |
CY2017 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
0 | |
CY2019Q1 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
8968018 | |
us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
982939 | ||
CY2019Q4 | us-gaap |
Prepaid Taxes
PrepaidTaxes
|
1628985 | |
CY2017Q4 | us-gaap |
Prepaid Taxes
PrepaidTaxes
|
0 | |
CY2019Q1 | us-gaap |
Prepaid Taxes
PrepaidTaxes
|
308458 | |
CY2018Q2 | us-gaap |
Prepaid Taxes
PrepaidTaxes
|
0 | |
CY2018Q3 | us-gaap |
Prepaid Taxes
PrepaidTaxes
|
65794 | |
CY2017 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
0 | |
CY2019 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
0 | |
CY2018 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
1596288 | |
us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
982938 | ||
CY2018Q1 | us-gaap |
Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
|
540940 | |
CY2019 | us-gaap |
Proceeds From Sale Of Short Term Investments
ProceedsFromSaleOfShortTermInvestments
|
9095000 | |
CY2017 | us-gaap |
Proceeds From Sale Of Short Term Investments
ProceedsFromSaleOfShortTermInvestments
|
0 | |
CY2018 | us-gaap |
Proceeds From Sale Of Short Term Investments
ProceedsFromSaleOfShortTermInvestments
|
0 | |
CY2018 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
27939 | |
CY2019 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
112589 | |
CY2017 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
35963 | |
CY2019Q1 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
12552 | |
us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
17718 | ||
us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
7028 | ||
CY2017 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
223404 | |
CY2018 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
0 | |
CY2019 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
0 | |
CY2018Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
14515084 | |
CY2019Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
12918900 | |
CY2017Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
15566883 | |
CY2018Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
14989702 | |
CY2019Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
13960677 | |
CY2018Q2 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
15015591 | |
CY2018Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
15259025 | |
CY2017Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
27332299 | |
CY2018Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
28140345 | |
CY2019Q4 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
27470545 | |
CY2018Q2 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
27585125 | |
CY2018Q3 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
27983667 | |
CY2018Q1 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
27436922 | |
CY2019Q1 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
27902207 | |
CY2019 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
18076962 | |
CY2018 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
0 | |
CY2019 | us-gaap |
Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
|
8968018 | |
CY2018Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
56841234 | |
CY2017 | us-gaap |
Tax Cuts And Jobs Act Of2017 Measurement Period Adjustment Income Tax Expense Benefit
TaxCutsAndJobsActOf2017MeasurementPeriodAdjustmentIncomeTaxExpenseBenefit
|
1300000 | |
CY2017Q4 | us-gaap |
Tax Cuts And Jobs Act Of2017 Transition Tax For Accumulated Foreign Earnings Income Tax Expense
TaxCutsAndJobsActOf2017TransitionTaxForAccumulatedForeignEarningsIncomeTaxExpense
|
603976 | |
CY2017 | us-gaap |
Repayments Of Long Term Capital Lease Obligations
RepaymentsOfLongTermCapitalLeaseObligations
|
72686 | |
CY2018 | us-gaap |
Repayments Of Long Term Capital Lease Obligations
RepaymentsOfLongTermCapitalLeaseObligations
|
0 | |
CY2019 | us-gaap |
Repayments Of Long Term Capital Lease Obligations
RepaymentsOfLongTermCapitalLeaseObligations
|
0 | |
CY2017Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
60078013 | |
CY2019Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
62210781 | |
CY2018Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
64476378 | |
CY2018Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
63361113 | |
CY2018Q2 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
62752412 | |
CY2019Q1 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
65634371 | |
CY2018Q1 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
61594670 | |
CY2019Q1 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
20941322 | |
CY2019Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
17196815 | |
CY2018Q4 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
24637506 | |
CY2018Q1 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
20500578 | |
CY2019Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
16310887 | |
CY2018Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
19187222 | |
CY2018Q3 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
18878263 | |
CY2019Q4 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
20469136 | |
CY2017 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
82420595 | |
CY2018 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
83203569 | |
CY2019 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
74918160 | |
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
39687800 | ||
CY2018Q2 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
19187222 | |
CY2018Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
20500578 | |
CY2019Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
20941322 | |
CY2018Q3 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
18878263 | |
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
58566063 | ||
CY2017 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Gross
StockIssuedDuringPeriodValueRestrictedStockAwardGross
|
0 | |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
58286396 | |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
56419427 | |
CY2017Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
55895540 | |
CY2016Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
52542666 | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Period1
ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
|
P6M | |
CY2019 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
0 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
0 | |
CY2015 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
0 | |
CY2017 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
0 | |
CY2016 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
0 | |
CY2017 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
239599 | |
CY2018 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
327629 | |
CY2019 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
770188 | |
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
52688 | ||
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
76447 | ||
CY2018Q1 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
28969 | |
CY2019Q1 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
185825 | |
CY2016Q4 | us-gaap |
Shares Outstanding
SharesOutstanding
|
9193162 | |
CY2019Q4 | us-gaap |
Shares Outstanding
SharesOutstanding
|
9022187 | |
CY2018Q4 | us-gaap |
Shares Outstanding
SharesOutstanding
|
9060561 | |
CY2017Q4 | us-gaap |
Shares Outstanding
SharesOutstanding
|
9270862 | |
CY2019Q4 | us-gaap |
Stock Repurchase Program Remaining Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased
|
996163 | |
CY2016Q3 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
2200000 | |
CY2015Q3 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
1200000 | |
CY2019Q2 | us-gaap |
Stock Repurchase Program Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
|
1000000 | |
CY2017 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
223404 | |
CY2019 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Gross
StockIssuedDuringPeriodValueRestrictedStockAwardGross
|
0 | |
CY2018 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Gross
StockIssuedDuringPeriodValueRestrictedStockAwardGross
|
0 | |
CY2018Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
57283675 | |
CY2018Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
58004707 | |
CY2017Q4 | us-gaap |
Tax Cuts And Jobs Act Of2017 Income Tax Expense Benefit
TaxCutsAndJobsActOf2017IncomeTaxExpenseBenefit
|
1296239 | |
CY2018Q4 | us-gaap |
Taxes Payable Current
TaxesPayableCurrent
|
0 | |
CY2017Q4 | us-gaap |
Taxes Payable Current
TaxesPayableCurrent
|
354629 | |
CY2019Q4 | us-gaap |
Taxes Payable Current
TaxesPayableCurrent
|
0 | |
CY2018Q1 | us-gaap |
Taxes Payable Current
TaxesPayableCurrent
|
491771 | |
CY2018Q2 | us-gaap |
Taxes Payable Current
TaxesPayableCurrent
|
153593 | |
CY2017Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
7384517 | |
CY2018Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
9037783 | |
CY2019Q4 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
9772982 | |
CY2019Q1 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
9752400 | |
CY2018Q1 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
7925457 | |
CY2018Q2 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
8379703 | |
CY2018Q3 | us-gaap |
Treasury Stock Value
TreasuryStockValue
|
8379755 | |
CY2018 | us-gaap |
Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
|
243387 | |
CY2019 | us-gaap |
Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
|
131782 | |
CY2019 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
735199 | |
CY2018 | us-gaap |
Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
|
1653266 | |
CY2017Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
1049207 | |
CY2019Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
1424376 | |
CY2018Q4 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
1292594 | |
CY2019Q1 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
1420539 | |
CY2018Q3 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
1182509 | |
CY2018Q1 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
1121607 | |
CY2018Q2 | us-gaap |
Treasury Stock Shares
TreasuryStockShares
|
1182502 | |
CY2019 | us-gaap |
Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
|
5.58 | |
CY2018 | us-gaap |
Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
|
6.79 | |
CY2017Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
1197077 | |
CY2016Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
937705 | |
CY2018Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
1415714 | |
CY2019Q4 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
296127 | |
CY2017 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
0 | |
CY2019 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
1145227 | |
CY2018 | us-gaap |
Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
|
102236 | |
CY2017 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
0 | |
CY2018 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
111300 | |
CY2019 | us-gaap |
Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
|
0 | |
CY2017Q4 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
200000 | |
CY2018Q4 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
100000 | |
CY2019Q4 | us-gaap |
Unrecognized Tax Benefits That Would Impact Effective Tax Rate
UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
|
100000 | |
CY2017 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
213430 | |
CY2018 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
351304 | |
CY2019 | us-gaap |
Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
|
0 | |
CY2018 | us-gaap |
Unrecognized Tax Benefits Interest On Income Taxes Expense
UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
|
80868 | |
CY2019 | us-gaap |
Unrecognized Tax Benefits Interest On Income Taxes Expense
UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
|
25640 | |
CY2017 | us-gaap |
Unrecognized Tax Benefits Interest On Income Taxes Expense
UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
|
45942 | |
CY2019 | dei |
Entity Central Index Key
EntityCentralIndexKey
|
0000909724 | |
CY2019 | dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--12-31 | |
CY2019 | dei |
Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
|
No | |
CY2019 | dei |
Entity Voluntary Filers
EntityVoluntaryFilers
|
No | |
CY2019 | dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
No | |
CY2019 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2019 | dei |
Entity Filer Category
EntityFilerCategory
|
Non-accelerated Filer | |
CY2019 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><div style="text-align: justify; font-style: italic;">Management estimates and reporting</div><div><br /></div><div style="text-align: justify;">The preparation of the Company’s Consolidated Financial Statements in accordance with accounting principles generally accepted in the United States (“GAAP”) requires the use of estimates that affect the reported value of assets, liabilities, revenues and expenses.  These estimates are based on historical experience and various other factors that are believed to be reasonable under the circumstances, the results of which form the basis for the Company’s conclusions.  The Company continually evaluates the information used to make these estimates as the business and the economic environment changes.  Actual results may differ from these estimates, and estimates are subject to change due to modifications in the underlying conditions or assumptions.  The policies discussed below require estimates that contain a significant degree of judgement.  The use of estimates is pervasive throughout the Consolidated Financial Statements, but the accounting policies and estimates considered most significant are as follows.</div></div> | |
CY2017 | us-gaap |
Valuation Allowance Deferred Tax Asset Change In Amount
ValuationAllowanceDeferredTaxAssetChangeInAmount
|
100000 | |
CY2019 | us-gaap |
Valuation Allowance Deferred Tax Asset Change In Amount
ValuationAllowanceDeferredTaxAssetChangeInAmount
|
100000 | |
CY2018 | us-gaap |
Valuation Allowance Deferred Tax Asset Change In Amount
ValuationAllowanceDeferredTaxAssetChangeInAmount
|
100000 | |
CY2019 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
8973246 | |
CY2017 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9245537 | |
CY2018 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9205008 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9223086 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9201577 | ||
CY2018Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9160022 | |
CY2018Q1 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9264604 | |
CY2018Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9182527 | |
CY2019Q1 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9011107 | |
CY2019Q4 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9020187 | |
CY2018Q4 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
9144020 | |
CY2019Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
8933648 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
8932246 | |
CY2018 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9185203 | |
CY2019 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
8973246 | |
CY2017 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9242092 | |
CY2018Q1 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9264446 | |
CY2019Q1 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9009752 | |
CY2018Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9180076 | |
CY2018Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9154215 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9222028 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9199173 | ||
CY2019Q4 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9020187 | |
CY2019Q3 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
8932246 | |
CY2019Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
8933648 | |
CY2018Q4 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
9143746 | |
CY2019 | dei |
Document Type
DocumentType
|
10-K | |
CY2019 | dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
No | |
CY2019 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2019 | dei |
Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
|
false | |
CY2019 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2019 | |
CY2019 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2019 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2019-12-31 | |
CY2019 | dei |
Entity Registrant Name
EntityRegistrantName
|
TANDY LEATHER FACTORY INC | |
CY2018 | tlf |
Number Of Underperforming Stores
NumberOfUnderperformingStores
|
4 | |
CY2019 | tlf |
Number Of Underperforming Stores
NumberOfUnderperformingStores
|
3 | |
CY2019Q4 | tlf |
Percentage Of Discount Rate On Long Lived Assets
PercentageOfDiscountRateOnLongLivedAssets
|
0.125 | |
CY2019Q4 | tlf |
Sales And Payroll Taxes Payable
SalesAndPayrollTaxesPayable
|
458882 | |
CY2019 | dei |
Entity Small Business
EntitySmallBusiness
|
true | |
CY2019 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2019Q2 | dei |
Entity Public Float
EntityPublicFloat
|
28164961 | |
CY2019 | dei |
Entity Address State Or Province
EntityAddressStateOrProvince
|
TX | |
CY2021Q2 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
8663921 | |
CY2019 | tlf |
Weighting Basis
WeightingBasis
|
0.5 | |
CY2018Q4 | tlf |
Sales And Payroll Taxes Payable
SalesAndPayrollTaxesPayable
|
572497 | |
CY2017Q4 | tlf |
Sales And Payroll Taxes Payable
SalesAndPayrollTaxesPayable
|
584726 | |
CY2017Q4 | tlf |
Accrued Business Exit Costs
AccruedBusinessExitCosts
|
0 | |
CY2019Q4 | tlf |
Accrued Business Exit Costs
AccruedBusinessExitCosts
|
0 | |
CY2018 | tlf |
Cumulative Effect Of Change In Accounting Principle
CumulativeEffectOfChangeInAccountingPrinciple
|
0 | |
CY2019 | tlf |
Cumulative Effect Of Change In Accounting Principle
CumulativeEffectOfChangeInAccountingPrinciple
|
-361816 | |
CY2017 | tlf |
Cumulative Effect Of Change In Accounting Principle
CumulativeEffectOfChangeInAccountingPrinciple
|
0 | |
CY2019 | tlf |
Increase Decrease In Operating Lease Liabilities
IncreaseDecreaseInOperatingLeaseLiabilities
|
-3388399 | |
CY2018 | tlf |
Increase Decrease In Operating Lease Liabilities
IncreaseDecreaseInOperatingLeaseLiabilities
|
0 | |
CY2017 | tlf |
Increase Decrease In Operating Lease Liabilities
IncreaseDecreaseInOperatingLeaseLiabilities
|
0 | |
CY2019Q1 | tlf |
Increase Decrease In Operating Lease Liabilities
IncreaseDecreaseInOperatingLeaseLiabilities
|
-833690 | |
CY2017 | tlf |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability Net Cumulative Effect Adjustment
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiabilityNetCumulativeEffectAdjustment
|
0 | |
CY2019 | tlf |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability Net Cumulative Effect Adjustment
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiabilityNetCumulativeEffectAdjustment
|
17328019 | |
CY2018 | tlf |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability Net Cumulative Effect Adjustment
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiabilityNetCumulativeEffectAdjustment
|
0 | |
CY2019Q4 | tlf |
Uncertain Tax Positions Noncurrent
UncertainTaxPositionsNoncurrent
|
296127 | |
CY2017Q4 | tlf |
Uncertain Tax Positions Noncurrent
UncertainTaxPositionsNoncurrent
|
1197078 | |
CY2018Q4 | tlf |
Uncertain Tax Positions Noncurrent
UncertainTaxPositionsNoncurrent
|
1415715 | |
CY2019Q1 | tlf |
Uncertain Tax Positions Noncurrent
UncertainTaxPositionsNoncurrent
|
1415715 | |
CY2018Q1 | tlf |
Uncertain Tax Positions Noncurrent
UncertainTaxPositionsNoncurrent
|
1197078 | |
CY2018Q3 | tlf |
Uncertain Tax Positions Noncurrent
UncertainTaxPositionsNoncurrent
|
1197078 | |
CY2018Q2 | tlf |
Uncertain Tax Positions Noncurrent
UncertainTaxPositionsNoncurrent
|
1197078 | |
CY2017Q4 | tlf |
Unrecognized Tax Benefits That Would Impact Deferred Taxes
UnrecognizedTaxBenefitsThatWouldImpactDeferredTaxes
|
1000000 | |
CY2019Q4 | tlf |
Unrecognized Tax Benefits That Would Impact Deferred Taxes
UnrecognizedTaxBenefitsThatWouldImpactDeferredTaxes
|
200000 | |
CY2018Q4 | tlf |
Unrecognized Tax Benefits That Would Impact Deferred Taxes
UnrecognizedTaxBenefitsThatWouldImpactDeferredTaxes
|
1300000 | |
CY2017Q4 | tlf |
Accrued Vendor Payables Current
AccruedVendorPayablesCurrent
|
30497 | |
CY2019Q4 | tlf |
Accrued Vendor Payables Current
AccruedVendorPayablesCurrent
|
451439 | |
CY2018Q4 | tlf |
Accrued Vendor Payables Current
AccruedVendorPayablesCurrent
|
289656 | |
CY2017Q4 | tlf |
Expected Merchandise Returns
ExpectedMerchandiseReturns
|
348732 | |
CY2019Q4 | tlf |
Expected Merchandise Returns
ExpectedMerchandiseReturns
|
284734 | |
CY2018Q4 | tlf |
Expected Merchandise Returns
ExpectedMerchandiseReturns
|
416091 | |
CY2018Q4 | tlf |
Contract With Customer Accrued Liabilities For Unredeemed Gift Cards
ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards
|
195901 | |
CY2017Q4 | tlf |
Contract With Customer Accrued Liabilities For Unredeemed Gift Cards
ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards
|
271109 | |
CY2019Q4 | tlf |
Contract With Customer Accrued Liabilities For Unredeemed Gift Cards
ContractWithCustomerAccruedLiabilitiesForUnredeemedGiftCards
|
319124 | |
CY2018Q4 | tlf |
Accrued Business Exit Costs
AccruedBusinessExitCosts
|
150529 | |
CY2017Q4 | tlf |
Accrued Severance Costs
AccruedSeveranceCosts
|
0 | |
CY2019Q4 | tlf |
Accrued Severance Costs
AccruedSeveranceCosts
|
37782 | |
CY2018Q4 | tlf |
Accrued Severance Costs
AccruedSeveranceCosts
|
367387 | |
CY2017Q1 | tlf |
Number Of Stock Option Plans Expired
NumberOfStockOptionPlansExpired
|
1 | |
CY2017Q4 | tlf |
Deferred Tax Assets Accounts Receivable
DeferredTaxAssetsAccountsReceivable
|
3239 | |
CY2018Q4 | tlf |
Deferred Tax Assets Accounts Receivable
DeferredTaxAssetsAccountsReceivable
|
0 | |
CY2019Q4 | tlf |
Deferred Tax Assets Accounts Receivable
DeferredTaxAssetsAccountsReceivable
|
3977 | |
CY2019Q4 | tlf |
Deferred Tax Assets Change In Tax Method
DeferredTaxAssetsChangeInTaxMethod
|
0 | |
CY2018Q4 | tlf |
Deferred Tax Assets Change In Tax Method
DeferredTaxAssetsChangeInTaxMethod
|
375595 | |
CY2017Q4 | tlf |
Deferred Tax Assets Change In Tax Method
DeferredTaxAssetsChangeInTaxMethod
|
631015 | |
CY2019 | tlf |
Deferred Revenue Recognized Period
DeferredRevenueRecognizedPeriod
|
P1Y | |
CY2019 | tlf |
Gift Card Redemption Period
GiftCardRedemptionPeriod
|
P1Y | |
CY2019Q4 | tlf |
Inventory Merchandise Expected To Be Returned
InventoryMerchandiseExpectedToBeReturned
|
100000 | |
CY2017Q4 | tlf |
Inventory Merchandise Expected To Be Returned
InventoryMerchandiseExpectedToBeReturned
|
100000 | |
CY2018Q4 | tlf |
Inventory Merchandise Expected To Be Returned
InventoryMerchandiseExpectedToBeReturned
|
200000 | |
CY2019 | tlf |
Allowance For Uncollectible Accounts
AllowanceForUncollectibleAccounts
|
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><div style="text-align: justify; font-weight: bold;">4.  ALLOWANCE FOR UNCOLLECTIBLE ACCOUNTS</div><div><br /></div><div style="text-align: justify;">Our receivables primarily arise from the sale of merchandise to customers that have applied for and been granted credit.  Accounts receivable are stated at amounts due, net of an allowance for doubtful accounts.  Accounts receivable are generally due within 30 days of invoicing.  We maintain allowances for bad debts based on factors such as the composition of accounts receivable, the age of the accounts, historical bad debt experience, and our evaluation of the financial condition and past collection history of each customer.  Write-offs have historically not been material, but receivables are evaluated for write off as they are deemed uncollectible based on a periodic review of accounts.</div></div> | |
CY2017Q4 | tlf |
Tax Cuts And Jobs Act Transition Tax For Accumulated Foreign Earnings Foreign Withholding Taxes
TaxCutsAndJobsActTransitionTaxForAccumulatedForeignEarningsForeignWithholdingTaxes
|
290128 | |
CY2019 | tlf |
Number Of Websites
NumberOfWebsites
|
4 | |
CY2017Q4 | tlf |
Reclassification Of Liabilities
ReclassificationOfLiabilities
|
1100000 | |
CY2018Q4 | tlf |
Reclassification Of Liabilities
ReclassificationOfLiabilities
|
800000 | |
CY2019Q4 | tlf |
Lessee Operating Lease Lease Not Yet Commenced Minimum To Be Paid
LesseeOperatingLeaseLeaseNotYetCommencedMinimumToBePaid
|
300000 | |
CY2019 | tlf |
Lessee Operating Lease Assets And Liabilities
LesseeOperatingLeaseAssetsAndLiabilities
|
<div style="font-family: 'Times New Roman'; font-size: 10pt;"><div style="text-align: justify;">Additional information regarding the Company’s operating leases is as follows:</div><div><br /></div><table cellpadding="0" cellspacing="0" style="width: 100%; text-align: left; color: rgb(0, 0, 0); font-family: Arial; font-size: 9pt;"><tr><td nowrap="nowrap" valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);"><div style="color: rgb(0, 0, 0); font-weight: bold;">Leases</div></td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td nowrap="nowrap" valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);"><div style="color: rgb(0, 0, 0); font-weight: bold;">Balance Sheet Classification</div></td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="2" nowrap="nowrap" valign="bottom" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0);"><div style="text-align: center; color: rgb(0, 0, 0); font-weight: bold;">December 31, 2019</div></td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td></tr><tr><td valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"><div style="color: rgb(0, 0, 0); font-weight: bold;">Assets:</div></td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="2" nowrap="nowrap" valign="bottom" style="font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td></tr><tr><td valign="bottom" style="width: 44%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="color: rgb(0, 0, 0);">Non-current</div></td><td colspan="1" valign="bottom" style="width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td valign="bottom" style="width: 44%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="color: rgb(0, 0, 0);">Operating lease assets</div></td><td colspan="1" valign="bottom" style="width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);"><div>$</div></td><td colspan="1" valign="bottom" style="width: 9%; text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 4px double rgb(0, 0, 0); background-color: rgb(204, 238, 255);"><div>13,897,422</div></td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td></tr><tr><td valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" valign="bottom" style="width: 9%; text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td></tr><tr><td valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="color: rgb(0, 0, 0); font-weight: bold;">Liabilities:</div></td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td colspan="1" valign="bottom" style="width: 9%; text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td></tr><tr><td valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"><div style="color: rgb(0, 0, 0);">Current</div></td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td valign="bottom" style="width: 44%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"><div style="color: rgb(0, 0, 0);">Operating lease liabilities</div></td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"><div>$</div></td><td colspan="1" valign="bottom" style="width: 9%; text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"><div>3,822,748</div></td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td></tr><tr><td valign="bottom" style="width: 44%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="color: rgb(0, 0, 0);">Non-current</div></td><td colspan="1" valign="bottom" style="width: 1%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td valign="bottom" style="width: 44%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"><div style="color: rgb(0, 0, 0);">Operating lease liabilities, noncurrent</div></td><td colspan="1" valign="bottom" style="width: 1%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);"> </td><td colspan="1" valign="bottom" style="width: 9%; text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 2px solid rgb(0, 0, 0); background-color: rgb(204, 238, 255);"><div>10,654,631</div></td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; padding-bottom: 2px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; background-color: rgb(204, 238, 255);"> </td></tr><tr><td valign="bottom" style="width: 44%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"><div style="color: rgb(0, 0, 0); font-weight: bold; margin-left: 9pt;">Total lease liabilities</div></td><td colspan="1" valign="bottom" style="width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td valign="bottom" style="width: 44%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" valign="bottom" style="width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td><td colspan="1" valign="bottom" style="width: 1%; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 4px double rgb(0, 0, 0);"><div style="font-weight: bold;">$</div></td><td colspan="1" valign="bottom" style="width: 9%; text-align: right; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom; border-bottom: 4px double rgb(0, 0, 0);"><div style="font-weight: bold;">14,477,379</div></td><td colspan="1" nowrap="nowrap" valign="bottom" style="width: 1%; padding-bottom: 4px; font-family: 'Times New Roman'; font-size: 10pt; vertical-align: bottom;"> </td></tr></table></div> | |
CY2019 | tlf |
Number Of Major Suppliers
NumberOfMajorSuppliers
|
1 | |
CY2019 | tlf |
Effective Income Tax Rate Reconciliation Rate Difference On Unrecognized Tax Benefits Reversals Percent
EffectiveIncomeTaxRateReconciliationRateDifferenceOnUnrecognizedTaxBenefitsReversalsPercent
|
0.13 | |
CY2017 | tlf |
Effective Income Tax Rate Reconciliation Rate Difference On Unrecognized Tax Benefits Reversals Percent
EffectiveIncomeTaxRateReconciliationRateDifferenceOnUnrecognizedTaxBenefitsReversalsPercent
|
0 | |
CY2018 | tlf |
Effective Income Tax Rate Reconciliation Rate Difference On Unrecognized Tax Benefits Reversals Percent
EffectiveIncomeTaxRateReconciliationRateDifferenceOnUnrecognizedTaxBenefitsReversalsPercent
|
0 |