2017 Q3 Form 10-K Financial Statement
#000117184318007950 Filed on November 14, 2018
Income Statement
Concept | 2017 Q3 | 2016 Q3 | 2016 |
---|---|---|---|
Revenue | $18.42M | $21.05M | $75.29M |
YoY Change | -12.49% | 33.48% | 24.81% |
Cost Of Revenue | $10.74M | $11.48M | $42.42M |
YoY Change | -6.45% | 24.78% | 19.63% |
Gross Profit | $7.680M | $9.570M | $32.87M |
YoY Change | -19.75% | 45.44% | 32.18% |
Gross Profit Margin | 41.69% | 45.46% | 43.66% |
Selling, General & Admin | $6.160M | $6.430M | $22.14M |
YoY Change | -4.2% | 41.01% | 24.26% |
% of Gross Profit | 80.21% | 67.19% | 67.35% |
Research & Development | $838.1K | ||
YoY Change | 11.73% | ||
% of Gross Profit | 2.55% | ||
Depreciation & Amortization | $410.0K | $380.0K | $1.449M |
YoY Change | 7.89% | 8.57% | 19.17% |
% of Gross Profit | 5.34% | 3.97% | 4.41% |
Operating Expenses | $6.160M | $6.430M | $22.98M |
YoY Change | -4.2% | 41.32% | 23.75% |
Operating Profit | $1.520M | $3.140M | $10.73M |
YoY Change | -51.59% | 54.68% | 52.19% |
Interest Expense | $90.00K | $40.00K | $160.0K |
YoY Change | 125.0% | 33.33% | 45.45% |
% of Operating Profit | 5.92% | 1.27% | 1.49% |
Other Income/Expense, Net | |||
YoY Change | |||
Pretax Income | $1.610M | $3.190M | $10.89M |
YoY Change | -49.53% | 55.61% | 52.14% |
Income Tax | $340.0K | $280.0K | $2.876M |
% Of Pretax Income | 21.12% | 8.78% | 26.41% |
Net Earnings | $1.260M | $2.910M | $8.013M |
YoY Change | -56.7% | 112.41% | 71.15% |
Net Earnings / Revenue | 6.84% | 13.82% | 10.64% |
Basic Earnings Per Share | $0.60 | ||
Diluted Earnings Per Share | $93.68K | $212.6K | $0.59 |
COMMON SHARES | |||
Basic Shares Outstanding | 13.37M | ||
Diluted Shares Outstanding | 13.66M |
Balance Sheet
Concept | 2017 Q3 | 2016 Q3 | 2016 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $24.50M | $33.50M | $33.54M |
YoY Change | -26.87% | 28.85% | 29.0% |
Cash & Equivalents | $18.54M | $28.01M | $28.01M |
Short-Term Investments | $5.900M | $5.500M | $5.530M |
Other Short-Term Assets | $978.9K | $1.199M | $1.200M |
YoY Change | -18.35% | 187.67% | -23.08% |
Inventory | $8.454M | $8.373M | $8.370M |
Prepaid Expenses | |||
Receivables | $7.238M | $7.999M | $8.000M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $41.14M | $51.11M | $51.11M |
YoY Change | -19.5% | 25.42% | 25.42% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $5.434M | $5.781M | $5.780M |
YoY Change | -6.0% | 1.6% | 1.58% |
Goodwill | $2.571M | $2.571M | |
YoY Change | 0.0% | 0.0% | |
Intangibles | $284.8K | ||
YoY Change | |||
Long-Term Investments | $19.80M | $10.70M | $10.70M |
YoY Change | 85.05% | 28.92% | 29.07% |
Other Assets | $245.2K | $428.3K | $430.0K |
YoY Change | -42.76% | 32.27% | 34.38% |
Total Long-Term Assets | $28.35M | $19.48M | $19.49M |
YoY Change | 45.52% | 15.46% | 15.46% |
TOTAL ASSETS | |||
Total Short-Term Assets | $41.14M | $51.11M | $51.11M |
Total Long-Term Assets | $28.35M | $19.48M | $19.49M |
Total Assets | $69.49M | $70.60M | $70.60M |
YoY Change | -1.56% | 22.5% | 22.51% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $1.740M | $2.573M | $2.570M |
YoY Change | -32.39% | 9.14% | 8.9% |
Accrued Expenses | $93.30K | $75.31K | $4.770M |
YoY Change | 23.9% | -6.8% | 77.99% |
Deferred Revenue | |||
YoY Change | |||
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | |||
YoY Change | |||
Total Short-Term Liabilities | $4.243M | $7.346M | $7.350M |
YoY Change | -42.24% | 45.83% | 45.83% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Other Long-Term Liabilities | $300.0K | $200.0K | $240.0K |
YoY Change | 50.0% | 0.0% | 4.35% |
Total Long-Term Liabilities | $725.8K | $655.5K | $240.0K |
YoY Change | 10.72% | -50.01% | 4.35% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $4.243M | $7.346M | $7.350M |
Total Long-Term Liabilities | $725.8K | $655.5K | $240.0K |
Total Liabilities | $4.969M | $8.001M | $8.000M |
YoY Change | -37.9% | 26.03% | 25.98% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $8.980M | $5.132M | |
YoY Change | 74.97% | -208.14% | |
Common Stock | $138.1K | $141.3K | |
YoY Change | -2.22% | 3.07% | |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $64.53M | $62.59M | $62.59M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $69.49M | $70.60M | $70.60M |
YoY Change | -1.56% | 22.5% | 22.51% |
Cashflow Statement
Concept | 2017 Q3 | 2016 Q3 | 2016 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $1.260M | $2.910M | $8.013M |
YoY Change | -56.7% | 112.41% | 71.15% |
Depreciation, Depletion And Amortization | $410.0K | $380.0K | $1.449M |
YoY Change | 7.89% | 8.57% | 19.17% |
Cash From Operating Activities | $3.780M | $4.620M | $11.55M |
YoY Change | -18.18% | 84.06% | 68.7% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$390.0K | -$650.0K | $1.550M |
YoY Change | -40.0% | 27.45% | -65.7% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | -$2.870M | -$260.0K | -$10.00K |
YoY Change | 1003.85% | -44.68% | -99.17% |
Cash From Investing Activities | -$3.250M | -$910.0K | -$1.642M |
YoY Change | 257.14% | -7.14% | -71.42% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $79.34K | ||
YoY Change | -87.56% | ||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -1.740M | -290.0K | 31.97K |
YoY Change | 500.0% | -52.46% | -102.61% |
NET CHANGE | |||
Cash From Operating Activities | 3.780M | 4.620M | 11.55M |
Cash From Investing Activities | -3.250M | -910.0K | -1.642M |
Cash From Financing Activities | -1.740M | -290.0K | 31.97K |
Net Change In Cash | -1.210M | 3.420M | 9.943M |
YoY Change | -135.38% | 271.74% | -8366.43% |
FREE CASH FLOW | |||
Cash From Operating Activities | $3.780M | $4.620M | $11.55M |
Capital Expenditures | -$390.0K | -$650.0K | $1.550M |
Free Cash Flow | $4.170M | $5.270M | $10.00M |
YoY Change | -20.87% | 74.5% | 329.4% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2016 | clfd |
Adjustment To Retained Earnings Prospective Application Of New Accounting Principle Deferred Tax Assets
AdjustmentToRetainedEarningsProspectiveApplicationOfNewAccountingPrincipleDeferredTaxAssets
|
1864980 | |
CY2018Q3 | clfd |
Assets Noncurrent Excluding Property Plant And Equipment
AssetsNoncurrentExcludingPropertyPlantAndEquipment
|
28392527 | |
CY2017Q3 | clfd |
Assets Noncurrent Excluding Property Plant And Equipment
AssetsNoncurrentExcludingPropertyPlantAndEquipment
|
22916463 | |
CY2018 | clfd |
Deferred Tax Asset Valuation Allowance Income Tax Benefit Adjustment
DeferredTaxAssetValuationAllowanceIncomeTaxBenefitAdjustment
|
79377 | |
CY2017 | clfd |
Deferred Tax Asset Valuation Allowance Income Tax Benefit Adjustment
DeferredTaxAssetValuationAllowanceIncomeTaxBenefitAdjustment
|
-32154 | |
CY2016 | clfd |
Deferred Tax Asset Valuation Allowance Income Tax Benefit Adjustment
DeferredTaxAssetValuationAllowanceIncomeTaxBenefitAdjustment
|
-78044 | |
CY2018 | clfd |
Deferred Tax Asset Valuation Allowance State Nol Expiration Reversal
DeferredTaxAssetValuationAllowanceStateNolExpirationReversal
|
-133673 | |
CY2017 | clfd |
Deferred Tax Asset Valuation Allowance State Nol Expiration Reversal
DeferredTaxAssetValuationAllowanceStateNolExpirationReversal
|
-131096 | |
CY2016 | clfd |
Deferred Tax Asset Valuation Allowance State Nol Expiration Reversal
DeferredTaxAssetValuationAllowanceStateNolExpirationReversal
|
-258360 | |
CY2018 | clfd |
Effective Income Tax Rate Reconciliation Expiration Of State Net Operating Loss Percent
EffectiveIncomeTaxRateReconciliationExpirationOfStateNetOperatingLossPercent
|
-0.04 | |
CY2017 | clfd |
Effective Income Tax Rate Reconciliation Expiration Of State Net Operating Loss Percent
EffectiveIncomeTaxRateReconciliationExpirationOfStateNetOperatingLossPercent
|
-0.03 | |
CY2016 | clfd |
Effective Income Tax Rate Reconciliation Expiration Of State Net Operating Loss Percent
EffectiveIncomeTaxRateReconciliationExpirationOfStateNetOperatingLossPercent
|
-0.02 | |
CY2018 | clfd |
Issuance Of Common Stock Funded Through Shares Sold To Company
IssuanceOfCommonStockFundedThroughSharesSoldToCompany
|
5782 | |
CY2017 | clfd |
Issuance Of Common Stock Funded Through Shares Sold To Company
IssuanceOfCommonStockFundedThroughSharesSoldToCompany
|
34268 | |
CY2016 | clfd |
Issuance Of Common Stock Funded Through Shares Sold To Company
IssuanceOfCommonStockFundedThroughSharesSoldToCompany
|
853033 | |
CY2018 | clfd |
Effective Income Tax Rate Reconciliation Permanent Differences Percent
EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent
|
||
CY2017 | clfd |
Effective Income Tax Rate Reconciliation Permanent Differences Percent
EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent
|
-0.01 | |
CY2016 | clfd |
Effective Income Tax Rate Reconciliation Permanent Differences Percent
EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent
|
||
CY2018 | clfd |
Effective Income Tax Rate Reconciliation Prospectively Adopted New Accouting Principle Excess Tax Benefits From Stock Based Comepnsation Percent
EffectiveIncomeTaxRateReconciliationProspectivelyAdoptedNewAccoutingPrincipleExcessTaxBenefitsFromStockBasedComepnsationPercent
|
0.02 | |
CY2017 | clfd |
Effective Income Tax Rate Reconciliation Prospectively Adopted New Accouting Principle Excess Tax Benefits From Stock Based Comepnsation Percent
EffectiveIncomeTaxRateReconciliationProspectivelyAdoptedNewAccoutingPrincipleExcessTaxBenefitsFromStockBasedComepnsationPercent
|
-0.01 | |
CY2016 | clfd |
Effective Income Tax Rate Reconciliation Prospectively Adopted New Accouting Principle Excess Tax Benefits From Stock Based Comepnsation Percent
EffectiveIncomeTaxRateReconciliationProspectivelyAdoptedNewAccoutingPrincipleExcessTaxBenefitsFromStockBasedComepnsationPercent
|
-0.07 | |
CY2018 | clfd |
Establishment Of Deferred Tax Assets For Prospective Adoption Of New Accounting Principle
EstablishmentOfDeferredTaxAssetsForProspectiveAdoptionOfNewAccountingPrinciple
|
||
CY2017 | clfd |
Establishment Of Deferred Tax Assets For Prospective Adoption Of New Accounting Principle
EstablishmentOfDeferredTaxAssetsForProspectiveAdoptionOfNewAccountingPrinciple
|
||
CY2016 | clfd |
Establishment Of Deferred Tax Assets For Prospective Adoption Of New Accounting Principle
EstablishmentOfDeferredTaxAssetsForProspectiveAdoptionOfNewAccountingPrinciple
|
1864980 | |
CY2016 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
437537 | |
CY2017 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
952832 | |
CY2018 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
489428 | |
CY2018 | clfd |
Number Of Patents Granted
NumberOfPatentsGranted
|
15 | |
CY2018 | clfd |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Grants In Period Weighted Average Remaining Contractual Term
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsGrantsInPeriodWeightedAverageRemainingContractualTerm
|
P4Y255D | |
CY2017Q2 | clfd |
Stock Repurchase Program Increase In Authorized Amount
StockRepurchaseProgramIncreaseInAuthorizedAmount
|
4000000 | |
CY2018 | dei |
Amendment Flag
AmendmentFlag
|
false | |
CY2018 | dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
FY | |
CY2018 | dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2018 | |
CY2018 | dei |
Document Period End Date
DocumentPeriodEndDate
|
2018-09-30 | |
CY2018 | dei |
Document Type
DocumentType
|
10-K | |
CY2018Q4 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
13646062 | |
CY2018 | dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | |
CY2018Q1 | dei |
Entity Public Float
EntityPublicFloat
|
145057933 | |
CY2018 | dei |
Entity Small Business
EntitySmallBusiness
|
true | |
CY2018 | dei |
Entity Shell Company
EntityShellCompany
|
false | |
CY2018Q3 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
2363380 | |
CY2017Q3 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1739791 | |
CY2018Q3 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
12821258 | |
CY2017Q3 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
7237641 | |
CY2018Q3 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
464000 | |
CY2018Q3 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
568507 | |
CY2017Q3 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
93304 | |
CY2018Q3 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
2048904 | |
CY2017Q3 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
2410026 | |
CY2018Q3 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
6911569 | |
CY2017Q3 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
6134829 | |
CY2018Q3 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
55483759 | |
CY2017Q3 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
55406888 | |
CY2018 | us-gaap |
Advertising Expense
AdvertisingExpense
|
365859 | |
CY2017 | us-gaap |
Advertising Expense
AdvertisingExpense
|
378217 | |
CY2016 | us-gaap |
Advertising Expense
AdvertisingExpense
|
350399 | |
CY2018 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
2003207 | |
CY2017 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
2319975 | |
CY2016 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1404899 | |
CY2017Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
79085 | |
CY2018Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
79085 | |
CY2016Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
93473 | |
CY2015Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
79473 | |
CY2018 | us-gaap |
Allowance For Doubtful Accounts Receivable Period Increase Decrease
AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
|
||
CY2017 | us-gaap |
Allowance For Doubtful Accounts Receivable Period Increase Decrease
AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
|
||
CY2016 | us-gaap |
Allowance For Doubtful Accounts Receivable Period Increase Decrease
AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
|
25000 | |
CY2018 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
||
CY2017 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
14388 | |
CY2016 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
11000 | |
CY2018 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
298801 | |
CY2017 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
7822 | |
CY2016 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
3292 | |
CY2018 | us-gaap |
Amount Of Dilutive Securities Stock Options And Restrictive Stock Units
AmountOfDilutiveSecuritiesStockOptionsAndRestrictiveStockUnits
|
23628 | |
CY2017 | us-gaap |
Amount Of Dilutive Securities Stock Options And Restrictive Stock Units
AmountOfDilutiveSecuritiesStockOptionsAndRestrictiveStockUnits
|
128431 | |
CY2016 | us-gaap |
Amount Of Dilutive Securities Stock Options And Restrictive Stock Units
AmountOfDilutiveSecuritiesStockOptionsAndRestrictiveStockUnits
|
290770 | |
CY2018 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
108000 | |
CY2017 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | |
CY2016 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | |
CY2018Q3 | us-gaap |
Assets
Assets
|
74228642 | |
CY2017Q3 | us-gaap |
Assets
Assets
|
69494037 | |
CY2018Q3 | us-gaap |
Assets Current
AssetsCurrent
|
41091531 | |
CY2017Q3 | us-gaap |
Assets Current
AssetsCurrent
|
41143402 | |
CY2017Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
18536111 | |
CY2016Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
28014321 | |
CY2015Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
18071210 | |
CY2018Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
8547777 | |
CY2018 | us-gaap |
Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
|
-9988334 | |
CY2017 | us-gaap |
Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
|
-9478210 | |
CY2016 | us-gaap |
Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
|
9943111 | |
CY2018Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2017Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2018Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
50000000 | |
CY2017Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
50000000 | |
CY2018Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
13646553 | |
CY2017Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
13812821 | |
CY2018Q3 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
13646553 | |
CY2017Q3 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
13812821 | |
CY2018Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
136466 | |
CY2017Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
138128 | |
CY2018 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
46654570 | |
CY2017 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
43683360 | |
CY2016 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
42417478 | |
CY2018 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
1472512 | |
CY2017 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
1627125 | |
CY2016 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
428638 | |
CY2018 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
1592546 | |
CY2017 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
1705677 | |
CY2016 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
535261 | |
CY2018 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
120034 | |
CY2017 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
78552 | |
CY2016 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
106623 | |
CY2018 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
-463798 | |
CY2017 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
8680 | |
CY2016 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
2434294 | |
CY2018 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-339141 | |
CY2017 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
32297 | |
CY2016 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
2340771 | |
CY2018Q3 | us-gaap |
Deferred Rent Credit
DeferredRentCredit
|
268040 | |
CY2017Q3 | us-gaap |
Deferred Rent Credit
DeferredRentCredit
|
281720 | |
CY2018 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
124657 | |
CY2017 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
23617 | |
CY2016 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-93523 | |
CY2017Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
159154 | |
CY2018Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
104858 | |
CY2016Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
322404 | |
CY2015Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
658808 | |
CY2018Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance Current
DeferredTaxAssetsValuationAllowanceCurrent
|
104858 | |
CY2017Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance Current
DeferredTaxAssetsValuationAllowanceCurrent
|
159154 | |
CY2018Q3 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
104935 | |
CY2017Q3 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
444076 | |
CY2018Q3 | us-gaap |
Deferred Tax Liabilities Current
DeferredTaxLiabilitiesCurrent
|
104935 | |
CY2017Q3 | us-gaap |
Deferred Tax Liabilities Current
DeferredTaxLiabilitiesCurrent
|
444076 | |
CY2018Q3 | us-gaap |
Deferred Tax Liabilities Gross Noncurrent
DeferredTaxLiabilitiesGrossNoncurrent
|
77 | |
CY2017Q3 | us-gaap |
Deferred Tax Liabilities Gross Noncurrent
DeferredTaxLiabilitiesGrossNoncurrent
|
284922 | |
CY2018 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
654001 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
|
0.01 | |
CY2017 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
652615 | |
CY2016 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
520530 | |
CY2018 | us-gaap |
Depreciation
Depreciation
|
1748945 | |
CY2017 | us-gaap |
Depreciation
Depreciation
|
1614272 | |
CY2016 | us-gaap |
Depreciation
Depreciation
|
1445910 | |
CY2018 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
2047746 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
|
0.01 | |
CY2016 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
|
0.01 | |
CY2017 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1622094 | |
CY2016 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1449202 | |
CY2018 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.32 | |
CY2017 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.28 | |
CY2016 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.60 | |
CY2018 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.32 | |
CY2017 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.28 | |
CY2016 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.59 | |
CY2018 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.23 | |
CY2017 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.31 | |
CY2016 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.26 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.24 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.34 | |
CY2016 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.34 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
-0.03 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
-0.04 | |
CY2016 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
|
-0.03 | |
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Enacted Tax Rate
EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
|
-0.05 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Enacted Tax Rate
EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
|
||
CY2016 | us-gaap |
Effective Income Tax Rate Reconciliation Change In Enacted Tax Rate
EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
|
||
CY2018 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.02 | |
CY2017 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.01 | |
CY2016 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.01 | |
CY2018Q3 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
|
3522909 | |
CY2018 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
|
P6Y36D | |
CY2017 | us-gaap |
Gross Profit
GrossProfit
|
30264259 | |
CY2016 | us-gaap |
Gross Profit
GrossProfit
|
32870248 | |
CY2018Q3 | us-gaap |
Held To Maturity Securities
HeldToMaturitySecurities
|
26904225 | |
CY2017Q3 | us-gaap |
Held To Maturity Securities
HeldToMaturitySecurities
|
25753150 | |
CY2018Q3 | us-gaap |
Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
|
17974000 | |
CY2017Q3 | us-gaap |
Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
|
19816000 | |
CY2018Q3 | us-gaap |
Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
|
8930225 | |
CY2017Q3 | us-gaap |
Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
|
5937150 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
314538 | |
CY2017Q3 | us-gaap |
Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
|
15737 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
|
3132698 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
471215 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
|
464997 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
471215 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
471215 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
471215 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
5797093 | |
CY2017Q3 | us-gaap |
Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
|
300524 | |
CY2018Q3 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
5482555 | |
CY2017Q3 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
284787 | |
CY2018 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
17691 | |
CY2017 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-35281 | |
CY2016 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-12348 | |
CY2018Q3 | us-gaap |
Goodwill
Goodwill
|
4708511 | |
CY2017Q3 | us-gaap |
Goodwill
Goodwill
|
2570511 | |
CY2017 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2016 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2018 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2018 | us-gaap |
Gross Profit
GrossProfit
|
30996784 | |
CY2017 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
643604 | |
CY2016 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
0 | |
CY2018 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
0 | |
CY2018 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
5527952 | |
CY2017 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
5585813 | |
CY2016 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
10889094 | |
CY2017Q3 | us-gaap |
Long Term Investments
LongTermInvestments
|
19816000 | |
CY2018 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-1927998 | |
CY2018 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-254501 | |
CY2017 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
-180456 | |
CY2016 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
812811 | |
CY2018Q3 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
5482555 | |
CY2017Q3 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
284787 | |
CY2018Q3 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
3475981 | |
CY2017Q3 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
1737456 | |
CY2018Q3 | us-gaap |
Inventory Net
InventoryNet
|
10050135 | |
CY2017Q3 | us-gaap |
Inventory Net
InventoryNet
|
8453567 | |
CY2018Q3 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
6013166 | |
CY2017Q3 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
5991863 | |
CY2018Q3 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
560988 | |
CY2017Q3 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
724248 | |
CY2018 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
457101 | |
CY2017 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
273930 | |
CY2016 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
157402 | |
CY2018 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1253405 | |
CY2017 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1737974 | |
CY2016 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
2876032 | |
CY2018 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
719694 | |
CY2017 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
1471203 | |
CY2016 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
1130930 | |
CY2017Q3 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
409000 | |
CY2018 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
723990 | |
CY2017 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
-3064650 | |
CY2016 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
2323891 | |
CY2018 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
5583617 | |
CY2017 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-761569 | |
CY2016 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
1988310 | |
CY2018 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-1183998 | |
CY2017 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
80412 | |
CY2016 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
1190301 | |
CY2018 | us-gaap |
Lease And Rental Expense
LeaseAndRentalExpense
|
869000 | |
CY2017 | us-gaap |
Lease And Rental Expense
LeaseAndRentalExpense
|
768000 | |
CY2016 | us-gaap |
Lease And Rental Expense
LeaseAndRentalExpense
|
658000 | |
CY2018Q3 | us-gaap |
Liabilities
Liabilities
|
5353766 | |
CY2017Q3 | us-gaap |
Liabilities
Liabilities
|
4968917 | |
CY2018Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
74228642 | |
CY2017Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
69494037 | |
CY2018Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
4980791 | |
CY2017Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
4243121 | |
CY2018Q3 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
372975 | |
CY2017Q3 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
725796 | |
CY2018Q3 | us-gaap |
Long Term Investments
LongTermInvestments
|
17974000 | |
CY2017 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-4236737 | |
CY2016 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
31972 | |
CY2018 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-12607876 | |
CY2017 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-11539526 | |
CY2016 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-1641612 | |
CY2018 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
4547540 | |
CY2017 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
6298053 | |
CY2016 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
11552751 | |
CY2018 | us-gaap |
Net Income Loss
NetIncomeLoss
|
4274547 | |
CY2017 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3847839 | |
CY2016 | us-gaap |
Net Income Loss
NetIncomeLoss
|
8013062 | |
CY2016 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
1 | |
CY2018 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
5070851 | |
CY2017 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
5311883 | |
CY2016 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
10731692 | |
CY2018Q3 | us-gaap |
Operating Leases Future Minimum Payments Due
OperatingLeasesFutureMinimumPaymentsDue
|
3013721 | |
CY2018Q3 | us-gaap |
Operating Leases Future Minimum Payments Due Current
OperatingLeasesFutureMinimumPaymentsDueCurrent
|
593586 | |
CY2018Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Five Years
OperatingLeasesFutureMinimumPaymentsDueInFiveYears
|
422481 | |
CY2018Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Four Years
OperatingLeasesFutureMinimumPaymentsDueInFourYears
|
412177 | |
CY2018Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Three Years
OperatingLeasesFutureMinimumPaymentsDueInThreeYears
|
402123 | |
CY2018Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Two Years
OperatingLeasesFutureMinimumPaymentsDueInTwoYears
|
568018 | |
CY2018Q3 | us-gaap |
Operating Leases Future Minimum Payments Due Thereafter
OperatingLeasesFutureMinimumPaymentsDueThereafter
|
615336 | |
CY2018Q3 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
742136 | |
CY2017Q3 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
978933 | |
CY2018Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
227461 | |
CY2017Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
245165 | |
CY2018 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
1760442 | |
CY2017 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
3647314 | |
CY2016 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
333761 | |
CY2018 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
489428 | |
CY2017 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
952832 | |
CY2016 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
437537 | |
CY2018 | us-gaap |
Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
|
10350000 | |
CY2017 | us-gaap |
Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
|
||
CY2016 | us-gaap |
Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
|
||
CY2018 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
123569 | |
CY2017 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
69936 | |
CY2016 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
77138 | |
CY2018 | us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
7283075 | |
CY2017 | us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
17630075 | |
CY2016 | us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
8138075 | |
CY2018 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1066284 | |
CY2017 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1951615 | |
CY2016 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1550128 | |
CY2018Q3 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2017Q3 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2018Q3 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
500000 | |
CY2017Q3 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
500000 | |
CY2018Q3 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2017Q3 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2018Q3 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2017Q3 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2018Q3 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2017Q3 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2018 | us-gaap |
Prior Period Reclassification Adjustment Description
PriorPeriodReclassificationAdjustmentDescription
|
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">Reclassifications: </div><div style="display: inline; font-family: Times New Roman, Times, Serif">Certain comparative figures have been reclassified to conform to the current period's presentation. These reclassifications did <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> affect the prior periods' net income, shareholders’ equity, or cash flows.</div></div></div></div></div></div></div> | |
CY2018 | us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
297860 | |
CY2017 | us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
334692 | |
CY2016 | us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
254426 | |
CY2018 | us-gaap |
Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
|
6132000 | |
CY2017 | us-gaap |
Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
|
8107000 | |
CY2016 | us-gaap |
Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
|
8123000 | |
CY2018 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
83052 | |
CY2017 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
5100 | |
CY2016 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
729 | |
CY2018 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
24012 | |
CY2017 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
28717 | |
CY2016 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
548844 | |
CY2018Q3 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
11656153 | |
CY2017Q3 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
11569001 | |
CY2018Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
4744584 | |
CY2017Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
5434172 | |
CY2018 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
787364 | |
CY2017 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
865568 | |
CY2016 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
838122 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
2.79 | |
CY2018Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
13254651 | |
CY2017Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
8980104 | |
CY2018 | us-gaap |
Revenues
Revenues
|
77651354 | |
CY2017 | us-gaap |
Revenues
Revenues
|
73947619 | |
CY2016 | us-gaap |
Revenues
Revenues
|
75287726 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
75767 | |
CY2017 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
237172 | |
CY2017 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
||
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
||
CY2017 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
||
CY2018 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
25925933 | |
CY2017 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
24952376 | |
CY2016 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
22138556 | |
CY2018 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2003207 | |
CY2017 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2319975 | |
CY2016 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1404899 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Period1
ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
|
P3Y | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
|
0.4368 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
|
0.027 | |
CY2018Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
|
1003644 | |
CY2018Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
30500 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
38950 | |
CY2018Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
2.58 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
||
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
108000 | |
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 | |
CY2018 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
|
4.78 | |
CY2018Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
340531 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
421237 | |
CY2016Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
54800 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
38950 | |
CY2018Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
138500 | |
CY2016Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
3.13 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
2.79 | |
CY2018Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
10.99 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
|
0 | |
CY2016Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
|
0 | |
CY2018 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
2003207 | |
CY2018 | us-gaap |
Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
|
11.66 | |
CY2017 | us-gaap |
Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
|
12.63 | |
CY2017 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
2319975 | |
CY2016Q3 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
0 | |
CY2018Q3 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
0 | |
CY2017 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
3.97 | |
CY2018 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
3.58 | |
CY2018 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
13.37 | |
CY2017 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
||
CY2018 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
|
P3Y255D | |
CY2018Q3 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
|
331535 | |
CY2018 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P1Y324D | |
CY2017 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P2Y266D | |
CY2018 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P3Y299D | |
CY2017 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P2Y266D | |
CY2018Q3 | us-gaap |
Short Term Investments
ShortTermInvestments
|
8930225 | |
CY2017Q3 | us-gaap |
Short Term Investments
ShortTermInvestments
|
5937150 | |
CY2017 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
15850 | |
CY2018 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
8450 | |
CY2016 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
254426 | |
CY2017 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
334692 | |
CY2018 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
297860 | |
CY2018 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
||
CY2016 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
1404899 | |
CY2016 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
548844 | |
CY2017 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
28717 | |
CY2018 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
24012 | |
CY2014Q4 | us-gaap |
Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
|
8000000 | |
CY2017Q2 | us-gaap |
Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
|
12000000 | |
CY2018Q3 | us-gaap |
Stock Repurchase Program Remaining Authorized Repurchase Amount1
StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
|
5409326 | |
CY2016 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
-333761 | |
CY2017 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
-3647314 | |
CY2018 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
-1760442 | |
CY2018 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
41989 | |
CY2017 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
75445 | |
CY2018Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
68874876 | |
CY2017Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
64525120 | |
CY2015Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
51279130 | |
CY2016Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
62594043 | |
CY2018 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
|
0 | |
CY2017 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
|
0 | |
CY2016 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
|
0 | |
CY2018 | us-gaap |
Use Of Estimates
UseOfEstimates
|
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><div style="display: inline; font-weight: bold;">Use of Estimates: </div>The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, related revenues and expenses and disclosure about contingent assets and liabilities at the date of the financial statements. Significant estimates include the deferred tax asset valuation allowance, the valuation of our inventory, rebates related to revenue recognition, performance compensation accruals and the valuation of long-lived assets and goodwill. Actual results <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>differ materially from these estimates.</div></div></div></div></div></div> | |
CY2018 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13452860 | |
CY2017 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13660806 | |
CY2016 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13663349 | |
CY2018 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13429232 | |
CY2017 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13532375 | |
CY2016 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13372579 |