2017 Q3 Form 10-K Financial Statement
#000117184317007043 Filed on November 15, 2017
Income Statement
Concept | 2017 Q3 | 2016 Q3 | 2015 Q3 |
---|---|---|---|
Revenue | $18.42M | $21.05M | $15.77M |
YoY Change | -12.49% | 33.48% | 10.13% |
Cost Of Revenue | $10.74M | $11.48M | $9.200M |
YoY Change | -6.45% | 24.78% | 9.26% |
Gross Profit | $7.680M | $9.570M | $6.580M |
YoY Change | -19.75% | 45.44% | 11.53% |
Gross Profit Margin | 41.69% | 45.46% | 41.72% |
Selling, General & Admin | $6.160M | $6.430M | $4.560M |
YoY Change | -4.2% | 41.01% | 7.8% |
% of Gross Profit | 80.21% | 67.19% | 69.3% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $410.0K | $380.0K | $350.0K |
YoY Change | 7.89% | 8.57% | 66.67% |
% of Gross Profit | 5.34% | 3.97% | 5.32% |
Operating Expenses | $6.160M | $6.430M | $4.550M |
YoY Change | -4.2% | 41.32% | 7.57% |
Operating Profit | $1.520M | $3.140M | $2.030M |
YoY Change | -51.59% | 54.68% | 21.56% |
Interest Expense | $90.00K | $40.00K | $30.00K |
YoY Change | 125.0% | 33.33% | 0.0% |
% of Operating Profit | 5.92% | 1.27% | 1.48% |
Other Income/Expense, Net | |||
YoY Change | |||
Pretax Income | $1.610M | $3.190M | $2.050M |
YoY Change | -49.53% | 55.61% | 20.59% |
Income Tax | $340.0K | $280.0K | $680.0K |
% Of Pretax Income | 21.12% | 8.78% | 33.17% |
Net Earnings | $1.260M | $2.910M | $1.370M |
YoY Change | -56.7% | 112.41% | 30.48% |
Net Earnings / Revenue | 6.84% | 13.82% | 8.69% |
Basic Earnings Per Share | |||
Diluted Earnings Per Share | $93.68K | $212.6K | $100.7K |
COMMON SHARES | |||
Basic Shares Outstanding | 13.72M | ||
Diluted Shares Outstanding |
Balance Sheet
Concept | 2017 Q3 | 2016 Q3 | 2015 Q3 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $24.50M | $33.50M | $26.00M |
YoY Change | -26.87% | 28.85% | 4.84% |
Cash & Equivalents | $18.54M | $28.01M | $18.07M |
Short-Term Investments | $5.900M | $5.500M | $7.900M |
Other Short-Term Assets | $978.9K | $1.199M | $416.8K |
YoY Change | -18.35% | 187.67% | -23.28% |
Inventory | $8.454M | $8.373M | $7.183M |
Prepaid Expenses | |||
Receivables | $7.238M | $7.999M | $6.011M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $41.14M | $51.11M | $40.75M |
YoY Change | -19.5% | 25.42% | 7.15% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $5.434M | $5.781M | $5.690M |
YoY Change | -6.0% | 1.6% | 131.08% |
Goodwill | $2.571M | $2.571M | $2.571M |
YoY Change | 0.0% | 0.0% | 0.0% |
Intangibles | $284.8K | ||
YoY Change | |||
Long-Term Investments | $19.80M | $10.70M | $8.300M |
YoY Change | 85.05% | 28.92% | 0.0% |
Other Assets | $245.2K | $428.3K | $323.8K |
YoY Change | -42.76% | 32.27% | 0.52% |
Total Long-Term Assets | $28.35M | $19.48M | $16.87M |
YoY Change | 45.52% | 15.46% | 22.16% |
TOTAL ASSETS | |||
Total Short-Term Assets | $41.14M | $51.11M | $40.75M |
Total Long-Term Assets | $28.35M | $19.48M | $16.87M |
Total Assets | $69.49M | $70.60M | $57.63M |
YoY Change | -1.56% | 22.5% | 11.15% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $1.740M | $2.573M | $2.358M |
YoY Change | -32.39% | 9.14% | 12.03% |
Accrued Expenses | $93.30K | $75.31K | $80.80K |
YoY Change | 23.9% | -6.8% | -67.37% |
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 | $5.037M |
YoY Change | -42.24% | 45.83% | -1.25% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Other Long-Term Liabilities | $300.0K | $200.0K | $200.0K |
YoY Change | 50.0% | 0.0% | |
Total Long-Term Liabilities | $725.8K | $655.5K | $1.311M |
YoY Change | 10.72% | -50.01% | |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $4.243M | $7.346M | $5.037M |
Total Long-Term Liabilities | $725.8K | $655.5K | $1.311M |
Total Liabilities | $4.969M | $8.001M | $6.348M |
YoY Change | -37.9% | 26.03% | 24.45% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $8.980M | $5.132M | -$4.746M |
YoY Change | 74.97% | -208.14% | -49.66% |
Common Stock | $138.1K | $141.3K | $137.1K |
YoY Change | -2.22% | 3.07% | -0.27% |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $64.53M | $62.59M | $51.28M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $69.49M | $70.60M | $57.63M |
YoY Change | -1.56% | 22.5% | 11.15% |
Cashflow Statement
Concept | 2017 Q3 | 2016 Q3 | 2015 Q3 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $1.260M | $2.910M | $1.370M |
YoY Change | -56.7% | 112.41% | 30.48% |
Depreciation, Depletion And Amortization | $410.0K | $380.0K | $350.0K |
YoY Change | 7.89% | 8.57% | 66.67% |
Cash From Operating Activities | $3.780M | $4.620M | $2.510M |
YoY Change | -18.18% | 84.06% | -1295.24% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$390.0K | -$650.0K | -$510.0K |
YoY Change | -40.0% | 27.45% | 27.5% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | -$2.870M | -$260.0K | -$470.0K |
YoY Change | 1003.85% | -44.68% | -160.26% |
Cash From Investing Activities | -$3.250M | -$910.0K | -$980.0K |
YoY Change | 257.14% | -7.14% | -357.89% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | |||
YoY Change | |||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -1.740M | -290.0K | -610.0K |
YoY Change | 500.0% | -52.46% | 177.27% |
NET CHANGE | |||
Cash From Operating Activities | 3.780M | 4.620M | 2.510M |
Cash From Investing Activities | -3.250M | -910.0K | -980.0K |
Cash From Financing Activities | -1.740M | -290.0K | -610.0K |
Net Change In Cash | -1.210M | 3.420M | 920.0K |
YoY Change | -135.38% | 271.74% | -1940.0% |
FREE CASH FLOW | |||
Cash From Operating Activities | $3.780M | $4.620M | $2.510M |
Capital Expenditures | -$390.0K | -$650.0K | -$510.0K |
Free Cash Flow | $4.170M | $5.270M | $3.020M |
YoY Change | -20.87% | 74.5% | 1489.47% |
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 | |
CY2017Q3 | clfd |
Assets Noncurrent Excluding Property Plant And Equipment
AssetsNoncurrentExcludingPropertyPlantAndEquipment
|
22916463 | |
CY2016Q3 | clfd |
Assets Noncurrent Excluding Property Plant And Equipment
AssetsNoncurrentExcludingPropertyPlantAndEquipment
|
13701821 | |
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 | |
CY2015 | clfd |
Deferred Tax Asset Valuation Allowance Income Tax Benefit Adjustment
DeferredTaxAssetValuationAllowanceIncomeTaxBenefitAdjustment
|
-53836 | |
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 | |
CY2015 | clfd |
Deferred Tax Asset Valuation Allowance State Nol Expiration Reversal
DeferredTaxAssetValuationAllowanceStateNolExpirationReversal
|
-135182 | |
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 | |
CY2015 | clfd |
Effective Income Tax Rate Reconciliation Expiration Of State Net Operating Loss Percent
EffectiveIncomeTaxRateReconciliationExpirationOfStateNetOperatingLossPercent
|
-0.02 | |
CY2017 | clfd |
Effective Income Tax Rate Reconciliation Permanent Differences Percent
EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent
|
-0.01 | |
CY2016 | clfd |
Effective Income Tax Rate Reconciliation Permanent Differences Percent
EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent
|
||
CY2015 | clfd |
Effective Income Tax Rate Reconciliation Permanent Differences Percent
EffectiveIncomeTaxRateReconciliationPermanentDifferencesPercent
|
0.01 | |
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 | |
CY2015 | clfd |
Effective Income Tax Rate Reconciliation Prospectively Adopted New Accouting Principle Excess Tax Benefits From Stock Based Comepnsation Percent
EffectiveIncomeTaxRateReconciliationProspectivelyAdoptedNewAccoutingPrincipleExcessTaxBenefitsFromStockBasedComepnsationPercent
|
||
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 | |
CY2015 | clfd |
Establishment Of Deferred Tax Assets For Prospective Adoption Of New Accounting Principle
EstablishmentOfDeferredTaxAssetsForProspectiveAdoptionOfNewAccountingPrinciple
|
||
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 | |
CY2015 | clfd |
Issuance Of Common Stock Funded Through Shares Sold To Company
IssuanceOfCommonStockFundedThroughSharesSoldToCompany
|
207738 | |
CY2017 | clfd |
Number Of Patents Granted
NumberOfPatentsGranted
|
11 | |
CY2017Q2 | clfd |
Stock Repurchase Program Increase In Authorized Amount
StockRepurchaseProgramIncreaseInAuthorizedAmount
|
4000000 | |
CY2017Q3 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
1739791 | |
CY2016Q3 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
2573292 | |
CY2017Q3 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
7237641 | |
CY2016Q3 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
7999210 | |
CY2017Q3 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
93304 | |
CY2015 | us-gaap |
Adjustments To Additional Paid In Capital Tax Effect From Share Based Compensation
AdjustmentsToAdditionalPaidInCapitalTaxEffectFromShareBasedCompensation
|
9660 | |
CY2017 | us-gaap |
Advertising Expense
AdvertisingExpense
|
378217 | |
CY2016Q3 | us-gaap |
Assets
Assets
|
70595313 | |
CY2017Q3 | us-gaap |
Assets Current
AssetsCurrent
|
41143402 | |
CY2016Q3 | us-gaap |
Assets Current
AssetsCurrent
|
51112678 | |
CY2016Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
28014321 | |
CY2015Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
18071210 | |
CY2015 | us-gaap |
Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
|
0 | |
CY2017Q3 | us-gaap |
Assets
Assets
|
69494037 | |
CY2016Q3 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
75306 | |
CY2017Q3 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
2410026 | |
CY2016Q3 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
4697138 | |
CY2017Q3 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
6134829 | |
CY2016Q3 | us-gaap |
Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
|
4933981 | |
CY2017Q3 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
55406888 | |
CY2016Q3 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
57320515 | |
CY2015 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
639307 | |
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 | |
CY2016 | us-gaap |
Advertising Expense
AdvertisingExpense
|
350399 | |
CY2015 | us-gaap |
Advertising Expense
AdvertisingExpense
|
284093 | |
CY2017 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
2319975 | |
CY2016 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1404899 | |
CY2015 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1074727 | |
CY2016Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
93473 | |
CY2017Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
79085 | |
CY2015Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
79473 | |
CY2014Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
97950 | |
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 | |
CY2015 | us-gaap |
Allowance For Doubtful Accounts Receivable Period Increase Decrease
AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
|
||
CY2017 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
14388 | |
CY2016 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
11000 | |
CY2015 | us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
18477 | |
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 | |
CY2015 | us-gaap |
Amount Of Dilutive Securities Stock Options And Restrictive Stock Units
AmountOfDilutiveSecuritiesStockOptionsAndRestrictiveStockUnits
|
371522 | |
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 | |
CY2014Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
18191493 | |
CY2017Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
18536111 | |
CY2017 | us-gaap |
Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
|
-9478210 | |
CY2016 | us-gaap |
Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
|
9943111 | |
CY2015 | us-gaap |
Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
|
-120283 | |
CY2017Q3 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2016Q3 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
||
CY2017Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2016Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2016Q3 | us-gaap |
Deferred Tax Liabilities Gross Noncurrent
DeferredTaxLiabilitiesGrossNoncurrent
|
89375 | |
CY2017Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
50000000 | |
CY2016Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
50000000 | |
CY2017Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
13812821 | |
CY2016Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
14126279 | |
CY2017Q3 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
13812821 | |
CY2016Q3 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
14126279 | |
CY2017Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
138128 | |
CY2016Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
141263 | |
CY2017 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
43683360 | |
CY2016 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
42417478 | |
CY2015 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
35455964 | |
CY2017 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
1627125 | |
CY2016 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
428638 | |
CY2015 | us-gaap |
Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
|
67373 | |
CY2017 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
1705677 | |
CY2016 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
535261 | |
CY2015 | us-gaap |
Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
|
133193 | |
CY2017 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
78552 | |
CY2016 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
106623 | |
CY2015 | us-gaap |
Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
|
65820 | |
CY2017 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
8680 | |
CY2016 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
2434294 | |
CY2015 | us-gaap |
Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
|
2377590 | |
CY2017 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
32297 | |
CY2016 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
2340771 | |
CY2015 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
2342045 | |
CY2017Q3 | us-gaap |
Deferred Rent Credit
DeferredRentCredit
|
281720 | |
CY2016Q3 | us-gaap |
Deferred Rent Credit
DeferredRentCredit
|
243755 | |
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 | |
CY2015 | us-gaap |
Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
|
-35545 | |
CY2016Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
322404 | |
CY2017Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
159154 | |
CY2015Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
658808 | |
CY2014Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
|
847826 | |
CY2017Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance Current
DeferredTaxAssetsValuationAllowanceCurrent
|
159154 | |
CY2016Q3 | us-gaap |
Deferred Tax Assets Valuation Allowance Current
DeferredTaxAssetsValuationAllowanceCurrent
|
322404 | |
CY2017Q3 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
444076 | |
CY2016Q3 | us-gaap |
Deferred Tax Liabilities
DeferredTaxLiabilities
|
411779 | |
CY2017Q3 | us-gaap |
Deferred Tax Liabilities Current
DeferredTaxLiabilitiesCurrent
|
444076 | |
CY2016Q3 | us-gaap |
Deferred Tax Liabilities Current
DeferredTaxLiabilitiesCurrent
|
411779 | |
CY2017Q3 | us-gaap |
Deferred Tax Liabilities Gross Noncurrent
DeferredTaxLiabilitiesGrossNoncurrent
|
284922 | |
CY2017 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
652615 | |
CY2016 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.60 | |
CY2015 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.35 | |
CY2015 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2017 | us-gaap |
Gross Profit
GrossProfit
|
30264259 | |
CY2017Q3 | us-gaap |
Goodwill
Goodwill
|
2570511 | |
CY2017 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.28 | |
CY2016Q3 | us-gaap |
Goodwill
Goodwill
|
2570511 | |
CY2017 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2016 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
CY2016 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
520530 | |
CY2015 | us-gaap |
Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
|
460868 | |
CY2017 | us-gaap |
Depreciation
Depreciation
|
1614272 | |
CY2016 | us-gaap |
Depreciation
Depreciation
|
1445910 | |
CY2015 | us-gaap |
Depreciation
Depreciation
|
1214512 | |
CY2017 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1622094 | |
CY2016 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1449202 | |
CY2015 | us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1216083 | |
CY2017 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.28 | |
CY2016 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.59 | |
CY2015 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.34 | |
CY2017 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.31 | |
CY2016 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.26 | |
CY2015 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.35 | |
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 | |
CY2015 | us-gaap |
Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
|
0.34 | |
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 | |
CY2015 | 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 State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.01 | |
CY2016 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.01 | |
CY2015 | us-gaap |
Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
|
0.01 | |
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 | |
CY2015 | us-gaap |
Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
|
||
CY2017Q3 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
|
5208269 | |
CY2017 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
|
P7Y36D | |
CY2017 | us-gaap |
Excess Tax Benefit From Share Based Compensation Financing Activities
ExcessTaxBenefitFromShareBasedCompensationFinancingActivities
|
||
CY2016 | us-gaap |
Excess Tax Benefit From Share Based Compensation Financing Activities
ExcessTaxBenefitFromShareBasedCompensationFinancingActivities
|
||
CY2015 | us-gaap |
Excess Tax Benefit From Share Based Compensation Financing Activities
ExcessTaxBenefitFromShareBasedCompensationFinancingActivities
|
9660 | |
CY2017 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-35281 | |
CY2016 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-12348 | |
CY2015 | us-gaap |
Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
|
-23196 | |
CY2016 | us-gaap |
Gross Profit
GrossProfit
|
32870248 | |
CY2015 | us-gaap |
Gross Profit
GrossProfit
|
24867953 | |
CY2017Q3 | us-gaap |
Held To Maturity Securities
HeldToMaturitySecurities
|
25753150 | |
CY2016Q3 | us-gaap |
Held To Maturity Securities
HeldToMaturitySecurities
|
16230075 | |
CY2017Q3 | us-gaap |
Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
|
19816000 | |
CY2016Q3 | us-gaap |
Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
|
10703000 | |
CY2017Q3 | us-gaap |
Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
|
5937150 | |
CY2016Q3 | us-gaap |
Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
|
5527075 | |
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 | |
CY2015 | us-gaap |
Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
|
0 | |
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 | |
CY2015 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
7157246 | |
CY2017 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1737974 | |
CY2016 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
2876032 | |
CY2015 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
2475238 | |
CY2017 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
1471203 | |
CY2016 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
1130930 | |
CY2015 | us-gaap |
Income Taxes Paid
IncomeTaxesPaid
|
50850 | |
CY2017Q3 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
409000 | |
CY2016Q3 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
643000 | |
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 | |
CY2015 | us-gaap |
Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
|
164336 | |
CY2017 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-761569 | |
CY2016 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
1988310 | |
CY2015 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
983044 | |
CY2017 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
80412 | |
CY2016 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
1190301 | |
CY2015 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
1792512 | |
CY2017 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
-180456 | |
CY2016 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
812811 | |
CY2015 | us-gaap |
Increase Decrease In Other Current Assets
IncreaseDecreaseInOtherCurrentAssets
|
-121381 | |
CY2017Q3 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
1737456 | |
CY2016Q3 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
2199088 | |
CY2017Q3 | us-gaap |
Inventory Net
InventoryNet
|
8453567 | |
CY2016Q3 | us-gaap |
Inventory Net
InventoryNet
|
8373155 | |
CY2017Q3 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
5991863 | |
CY2016Q3 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
5702762 | |
CY2017Q3 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
724248 | |
CY2016Q3 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
471305 | |
CY2017 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
273930 | |
CY2016 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
157402 | |
CY2015 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
105891 | |
CY2017 | us-gaap |
Lease And Rental Expense
LeaseAndRentalExpense
|
768000 | |
CY2016 | us-gaap |
Lease And Rental Expense
LeaseAndRentalExpense
|
658000 | |
CY2015 | us-gaap |
Lease And Rental Expense
LeaseAndRentalExpense
|
630000 | |
CY2017Q3 | us-gaap |
Liabilities
Liabilities
|
4968917 | |
CY2016Q3 | us-gaap |
Liabilities
Liabilities
|
8001270 | |
CY2017Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
69494037 | |
CY2016Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
70595313 | |
CY2017Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
4243121 | |
CY2016Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
7345736 | |
CY2017Q3 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
725796 | |
CY2016Q3 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
655534 | |
CY2017Q3 | us-gaap |
Long Term Investments
LongTermInvestments
|
19816000 | |
CY2016Q3 | us-gaap |
Long Term Investments
LongTermInvestments
|
10703000 | |
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 | |
CY2015 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-1224239 | |
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 | |
CY2015 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-5744264 | |
CY2017Q3 | us-gaap |
Operating Leases Future Minimum Payments Due
OperatingLeasesFutureMinimumPaymentsDue
|
3597970 | |
CY2016 | us-gaap |
Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
|
8123000 | |
CY2015 | us-gaap |
Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
|
9093000 | |
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 | |
CY2015 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
6848220 | |
CY2017 | us-gaap |
Net Income Loss
NetIncomeLoss
|
3847839 | |
CY2016 | us-gaap |
Net Income Loss
NetIncomeLoss
|
8013062 | |
CY2015 | us-gaap |
Net Income Loss
NetIncomeLoss
|
4682008 | |
CY2016 | us-gaap |
Number Of Reportable Segments
NumberOfReportableSegments
|
1 | |
CY2017 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
5311883 | |
CY2016 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
10731692 | |
CY2015 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
7051355 | |
CY2017Q3 | us-gaap |
Operating Leases Future Minimum Payments Due Current
OperatingLeasesFutureMinimumPaymentsDueCurrent
|
584249 | |
CY2017Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Five Years
OperatingLeasesFutureMinimumPaymentsDueInFiveYears
|
412177 | |
CY2017Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Four Years
OperatingLeasesFutureMinimumPaymentsDueInFourYears
|
402123 | |
CY2017Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Three Years
OperatingLeasesFutureMinimumPaymentsDueInThreeYears
|
568018 | |
CY2017Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Two Years
OperatingLeasesFutureMinimumPaymentsDueInTwoYears
|
593586 | |
CY2017Q3 | us-gaap |
Operating Leases Future Minimum Payments Due Thereafter
OperatingLeasesFutureMinimumPaymentsDueThereafter
|
1037817 | |
CY2017Q3 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
978933 | |
CY2016Q3 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
1198917 | |
CY2017Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
529952 | |
CY2016Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
428310 | |
CY2017 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
3647314 | |
CY2016 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
333761 | |
CY2015 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
849157 | |
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 | |
CY2015 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
639307 | |
CY2017 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
69936 | |
CY2016 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
77138 | |
CY2015 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
24418 | |
CY2017 | us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
17630075 | |
CY2016 | us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
8138075 | |
CY2015 | us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
10374000 | |
CY2017 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1951615 | |
CY2016 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1550128 | |
CY2015 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
4518782 | |
CY2017Q3 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
5000000 | |
CY2017 | us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
334692 | |
CY2016 | us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
254426 | |
CY2015 | us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
211459 | |
CY2017 | us-gaap |
Proceeds From Sale And Maturity Of Marketable Securities
ProceedsFromSaleAndMaturityOfMarketableSecurities
|
8107000 | |
CY2017 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
5100 | |
CY2016 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
729 | |
CY2015 | us-gaap |
Proceeds From Sale Of Productive Assets
ProceedsFromSaleOfProductiveAssets
|
79936 | |
CY2017 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
28717 | |
CY2016 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
548844 | |
CY2015 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
43106 | |
CY2017Q3 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
11569001 | |
CY2016Q3 | us-gaap |
Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
|
10714795 | |
CY2017Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
5434172 | |
CY2016Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
5780814 | |
CY2017 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
865568 | |
CY2016 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
838122 | |
CY2015 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
750107 | |
CY2017Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
8980104 | |
CY2016Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
5132265 | |
CY2017 | us-gaap |
Sales Revenue Net
SalesRevenueNet
|
73947619 | |
CY2016 | us-gaap |
Sales Revenue Net
SalesRevenueNet
|
75287726 | |
CY2015 | us-gaap |
Sales Revenue Net
SalesRevenueNet
|
60323917 | |
CY2015 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
17816598 | |
CY2017 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2319975 | |
CY2016 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1404899 | |
CY2015 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1074727 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Available For Grant
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
|
1103657 | |
CY2017 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
24952376 | |
CY2016 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
22138556 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
38950 | |
CY2016Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
54800 | |
CY2017Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
2.79 | |
CY2016Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
3.13 | |
CY2017 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
237172 | |
CY2016 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
|
2644220 | |
CY2016 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
||
CY2016 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
||
CY2017 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
0 | |
CY2015 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
1074727 | |
CY2016 | 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 | |
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 Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
858771 | |
CY2015Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
297384 | |
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 | |
CY2015Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
5.29 | |
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 | |
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 | |
CY2016 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
5.78 | |
CY2017 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
3.97 | |
CY2017Q3 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
|
421237 | |
CY2017 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P2Y266D | |
CY2016 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
|
P2Y302D | |
CY2017 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P2Y266D | |
CY2016 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P2Y302D | |
CY2017Q3 | us-gaap |
Short Term Investments
ShortTermInvestments
|
5937150 | |
CY2016Q3 | us-gaap |
Short Term Investments
ShortTermInvestments
|
5527075 | |
CY2016 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
242584 | |
CY2017 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
15850 | |
CY2015 | us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
211459 | |
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 | |
CY2016 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
1404899 | |
CY2017 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
2319975 | |
CY2015 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
43106 | |
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 | |
CY2014Q4 | us-gaap |
Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
|
8000000 | |
CY2017Q2 | us-gaap |
Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
|
12000000 | |
CY2017Q3 | us-gaap |
Stock Repurchase Program Remaining Authorized Repurchase Amount1
StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
|
7169768 | |
CY2015 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
-849157 | |
CY2016 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
-333761 | |
CY2017 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
-3647314 | |
CY2017 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
75445 | |
CY2016 | us-gaap |
Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
|
19072 | |
CY2017Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
64525120 | |
CY2016Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
62594043 | |
CY2014Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
46746634 | |
CY2015Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
51279130 | |
CY2010Q1 | us-gaap |
Temporary Equity Shares Subscribed But Unissued
TemporaryEquitySharesSubscribedButUnissued
|
67500 | |
CY2017 | us-gaap |
Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
|
12.63 | |
CY2016 | us-gaap |
Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
|
17.97 | |
CY2017Q3 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
0 | |
CY2016Q3 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
0 | |
CY2015Q3 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
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 | |
CY2015 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
|
0 | |
CY2017Q3 | us-gaap |
Valuation Allowance Deferred Tax Asset Change In Amount
ValuationAllowanceDeferredTaxAssetChangeInAmount
|
-163000 | |
CY2017 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13660806 | |
CY2016 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13663349 | |
CY2015 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13587532 | |
CY2017 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13532375 | |
CY2016 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13372579 | |
CY2015 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13216010 |