2020 Q1 Form 10-Q Financial Statement
#000117184320003168 Filed on May 01, 2020
Income Statement
Concept | 2020 Q1 | 2019 Q1 | 2018 Q4 |
---|---|---|---|
Revenue | $20.41M | $19.08M | $20.09M |
YoY Change | 6.94% | 13.39% | 19.1% |
Cost Of Revenue | $12.26M | $12.06M | $12.14M |
YoY Change | 1.64% | 19.98% | 24.43% |
Gross Profit | $8.151M | $7.025M | $7.947M |
YoY Change | 16.03% | 3.62% | 11.79% |
Gross Profit Margin | 39.94% | 36.81% | 39.56% |
Selling, General & Admin | $7.431M | $6.728M | $6.776M |
YoY Change | 10.46% | -7.91% | 4.83% |
% of Gross Profit | 91.17% | 95.77% | 85.27% |
Research & Development | |||
YoY Change | |||
% of Gross Profit | |||
Depreciation & Amortization | $600.0K | $530.0K | $529.4K |
YoY Change | 13.21% | -3.64% | 21.37% |
% of Gross Profit | 7.36% | 7.54% | 6.66% |
Operating Expenses | $7.431M | $6.728M | $6.776M |
YoY Change | 10.46% | -7.91% | 4.83% |
Operating Profit | $720.2K | $297.5K | $1.171M |
YoY Change | 142.08% | -156.59% | 81.68% |
Interest Expense | $220.0K | $170.0K | $140.0K |
YoY Change | 29.41% | 41.67% | 40.0% |
% of Operating Profit | 30.55% | 57.14% | 11.96% |
Other Income/Expense, Net | |||
YoY Change | |||
Pretax Income | $937.9K | $466.9K | $1.306M |
YoY Change | 100.86% | -214.9% | 76.44% |
Income Tax | $190.0K | $99.00K | $296.0K |
% Of Pretax Income | 20.26% | 21.2% | 22.67% |
Net Earnings | $747.9K | $367.9K | $1.010M |
YoY Change | 103.26% | -220.49% | 7.08% |
Net Earnings / Revenue | 3.66% | 1.93% | 5.03% |
Basic Earnings Per Share | $0.05 | $0.02 | $0.08 |
Diluted Earnings Per Share | $0.05 | $0.02 | $0.08 |
COMMON SHARES | |||
Basic Shares Outstanding | 13.52M | 13.42M | 13.40M |
Diluted Shares Outstanding | 13.52M | 13.45M | 13.40M |
Balance Sheet
Concept | 2020 Q1 | 2019 Q1 | 2018 Q4 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $23.30M | $25.00M | $23.80M |
YoY Change | -6.8% | 62.34% | -7.75% |
Cash & Equivalents | $8.576M | $7.906M | $15.36M |
Short-Term Investments | $14.70M | $17.00M | $8.500M |
Other Short-Term Assets | $687.9K | $1.254M | $653.2K |
YoY Change | -45.13% | 17.22% | -30.46% |
Inventory | $11.69M | $8.274M | $9.626M |
Prepaid Expenses | |||
Receivables | $8.070M | $8.988M | $8.167M |
Other Receivables | $0.00 | $0.00 | $0.00 |
Total Short-Term Assets | $43.73M | $43.47M | $42.30M |
YoY Change | 0.6% | 25.87% | 4.46% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $5.564M | $4.412M | $4.592M |
YoY Change | 26.11% | -12.7% | -11.72% |
Goodwill | $4.709M | $4.709M | $4.709M |
YoY Change | 0.0% | 0.0% | 83.17% |
Intangibles | $4.969M | $5.303M | $5.382M |
YoY Change | -6.29% | -5.62% | |
Long-Term Investments | $25.10M | $18.60M | $18.30M |
YoY Change | 34.95% | -7.92% | -10.29% |
Other Assets | $194.2K | $202.5K | $213.9K |
YoY Change | -4.12% | -11.5% | -61.27% |
Total Long-Term Assets | $43.48M | $33.20M | $33.19M |
YoY Change | 30.96% | -7.24% | 15.71% |
TOTAL ASSETS | |||
Total Short-Term Assets | $43.73M | $43.47M | $42.30M |
Total Long-Term Assets | $43.48M | $33.20M | $33.19M |
Total Assets | $87.21M | $76.67M | $75.48M |
YoY Change | 13.74% | 9.02% | 9.13% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $3.874M | $2.352M | $1.918M |
YoY Change | 64.66% | 30.78% | 59.17% |
Accrued Expenses | $327.4K | $39.20K | $863.0K |
YoY Change | 735.22% | 24.66% | 775.53% |
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 | $8.388M | $4.811M | $4.553M |
YoY Change | 74.33% | 22.3% | 65.7% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Other Long-Term Liabilities | $2.500M | $300.0K | $300.0K |
YoY Change | 733.33% | 0.0% | 0.0% |
Total Long-Term Liabilities | $2.571M | $363.4K | $368.6K |
YoY Change | 607.3% | 7.88% | 8.5% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $8.388M | $4.811M | $4.553M |
Total Long-Term Liabilities | $2.571M | $363.4K | $368.6K |
Total Liabilities | $10.96M | $5.175M | $4.921M |
YoY Change | 111.76% | 21.16% | 59.4% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $19.07M | $14.63M | $14.26M |
YoY Change | 30.32% | 52.14% | 43.75% |
Common Stock | $136.3K | $136.7K | $136.6K |
YoY Change | -0.3% | -1.03% | -1.17% |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $76.25M | $71.49M | $70.56M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $87.21M | $76.67M | $75.48M |
YoY Change | 13.74% | 9.02% | 9.13% |
Cashflow Statement
Concept | 2020 Q1 | 2019 Q1 | 2018 Q4 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $747.9K | $367.9K | $1.010M |
YoY Change | 103.26% | -220.49% | 7.08% |
Depreciation, Depletion And Amortization | $600.0K | $530.0K | $529.4K |
YoY Change | 13.21% | -3.64% | 21.37% |
Cash From Operating Activities | $2.400M | $1.640M | $6.826M |
YoY Change | 46.34% | 530.77% | 240.52% |
INVESTING ACTIVITIES | |||
Capital Expenditures | -$390.0K | -$270.0K | $276.6K |
YoY Change | 44.44% | -6.9% | 20.26% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | -$3.590M | -$8.820M | $120.0K |
YoY Change | -59.3% | -20.33% | 1100.0% |
Cash From Investing Activities | -$3.980M | -$9.100M | -$154.6K |
YoY Change | -56.26% | -19.89% | -29.41% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | -$145.9K | ||
YoY Change | 6.21% | ||
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | -430.0K | 0.000 | 139.3K |
YoY Change | -100.0% | 6.0% | |
NET CHANGE | |||
Cash From Operating Activities | 2.400M | 1.640M | 6.826M |
Cash From Investing Activities | -3.980M | -9.100M | -154.6K |
Cash From Financing Activities | -430.0K | 0.000 | 139.3K |
Net Change In Cash | -2.010M | -7.460M | 6.811M |
YoY Change | -73.06% | -34.04% | 255.29% |
FREE CASH FLOW | |||
Cash From Operating Activities | $2.400M | $1.640M | $6.826M |
Capital Expenditures | -$390.0K | -$270.0K | $276.6K |
Free Cash Flow | $2.790M | $1.910M | $6.549M |
YoY Change | 46.07% | 247.27% | 269.07% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2020Q1 | clfd |
Assets Noncurrent Excluding Property Plant And Equipment
AssetsNoncurrentExcludingPropertyPlantAndEquipment
|
37913200 | |
CY2020Q1 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
3873534 | |
clfd |
Increase Decrease In Allowance For Doubtful Accounts
IncreaseDecreaseInAllowanceForDoubtfulAccounts
|
|||
clfd |
Increase Decrease In Allowance For Doubtful Accounts
IncreaseDecreaseInAllowanceForDoubtfulAccounts
|
210000 | ||
clfd |
Issuance Of Common Stock Funded Through Shares Sold To Company
IssuanceOfCommonStockFundedThroughSharesSoldToCompany
|
7737 | ||
clfd |
Issuance Of Common Stock Funded Through Shares Sold To Company
IssuanceOfCommonStockFundedThroughSharesSoldToCompany
|
17390 | ||
CY2019Q3 | clfd |
Assets Noncurrent Excluding Property Plant And Equipment
AssetsNoncurrentExcludingPropertyPlantAndEquipment
|
33968551 | |
clfd |
Increase Decrease In Accounts Payable Accrued Expenses And Deferred Rent
IncreaseDecreaseInAccountsPayableAccruedExpensesAndDeferredRent
|
1091431 | ||
clfd |
Increase Decrease In Accounts Payable Accrued Expenses And Deferred Rent
IncreaseDecreaseInAccountsPayableAccruedExpensesAndDeferredRent
|
-179024 | ||
CY2020Q1 | clfd |
Number Of Patents Granted
NumberOfPatentsGranted
|
22 | |
CY2020Q1 | clfd |
Revenues Percent
RevenuesPercent
|
1 | |
CY2019Q1 | clfd |
Revenues Percent
RevenuesPercent
|
1 | |
clfd |
Revenues Percent
RevenuesPercent
|
1 | ||
clfd |
Revenues Percent
RevenuesPercent
|
1 | ||
CY2019Q1 | clfd |
Stock Issued During Period Value Stock Options Exercised Net Of Shares Exchanged For Payment
StockIssuedDuringPeriodValueStockOptionsExercisedNetOfSharesExchangedForPayment
|
7 | |
clfd |
Stock Issued During Period Value Stock Options Exercised Net Of Shares Exchanged For Payment
StockIssuedDuringPeriodValueStockOptionsExercisedNetOfSharesExchangedForPayment
|
2582 | ||
clfd |
Stock Issued During Period Value Stock Options Exercised Net Of Shares Exchanged For Payment
StockIssuedDuringPeriodValueStockOptionsExercisedNetOfSharesExchangedForPayment
|
24 | ||
dei |
Amendment Flag
AmendmentFlag
|
false | ||
dei |
Current Fiscal Year End Date
CurrentFiscalYearEndDate
|
--09-30 | ||
dei |
Document Fiscal Period Focus
DocumentFiscalPeriodFocus
|
Q2 | ||
dei |
Document Fiscal Year Focus
DocumentFiscalYearFocus
|
2020 | ||
dei |
Document Period End Date
DocumentPeriodEndDate
|
2020-03-31 | ||
dei |
Document Type
DocumentType
|
10-Q | ||
dei |
Entity Central Index Key
EntityCentralIndexKey
|
0000796505 | ||
CY2020Q2 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
13627639 | |
dei |
Entity Current Reporting Status
EntityCurrentReportingStatus
|
Yes | ||
dei |
Entity Emerging Growth Company
EntityEmergingGrowthCompany
|
false | ||
dei |
Entity Filer Category
EntityFilerCategory
|
Accelerated Filer | ||
dei |
Entity Interactive Data Current
EntityInteractiveDataCurrent
|
Yes | ||
dei |
Entity Registrant Name
EntityRegistrantName
|
Clearfield, Inc. | ||
dei |
Entity Shell Company
EntityShellCompany
|
false | ||
dei |
Entity Small Business
EntitySmallBusiness
|
true | ||
dei |
Security12b Title
Security12bTitle
|
Common stock, par value $.01 | ||
dei |
Trading Symbol
TradingSymbol
|
clfd | ||
CY2019Q3 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
3173599 | |
CY2020Q1 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
8069531 | |
CY2019Q3 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
9118639 | |
us-gaap |
Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
|
55641 | ||
us-gaap |
Accretion Amortization Of Discounts And Premiums Investments
AccretionAmortizationOfDiscountsAndPremiumsInvestments
|
15855 | ||
CY2020Q1 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
327363 | |
CY2019Q3 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
208603 | |
CY2020Q1 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
3472731 | |
CY2019Q3 | us-gaap |
Accrued Salaries Current
AccruedSalariesCurrent
|
3224860 | |
CY2020Q1 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
57042604 | |
CY2019Q3 | us-gaap |
Additional Paid In Capital
AdditionalPaidInCapital
|
56976162 | |
us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
5803 | ||
us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
6676 | ||
CY2020Q1 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
87937 | |
CY2019Q1 | us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
563666 | |
us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
328523 | ||
us-gaap |
Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
|
1102190 | ||
CY2020Q1 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
87937 | |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
328523 | ||
CY2019Q3 | us-gaap |
Assets
Assets
|
81888563 | |
CY2019Q1 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
563666 | |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1102190 | ||
CY2019Q3 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
289085 | |
CY2020Q1 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
289085 | |
CY2020Q1 | us-gaap |
Assets
Assets
|
87206926 | |
CY2020Q1 | us-gaap |
Assets Current
AssetsCurrent
|
43729912 | |
CY2019Q3 | us-gaap |
Assets Current
AssetsCurrent
|
42506771 | |
us-gaap |
Basis Of Accounting
BasisOfAccounting
|
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><div style="display: inline; font-weight: bold;">Note <div style="display: inline; font-style: italic; font: inherit;">1.</div> Basis of Presentation</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><div style="display: inline; color: black">The accompanying (a) condensed balance sheet as of <div style="display: inline; font-style: italic; font: inherit;"> September 30, 2019, </div>which has been derived from audited financial statements, and (b) unaudited interim condensed financial statements as of and for the <div style="display: inline; font-style: italic; font: inherit;">three</div> and <div style="display: inline; font-style: italic; font: inherit;">six</div> months ended <div style="display: inline; font-style: italic; font: inherit;"> March 31, 2020 </div>have been prepared by the Company in accordance with accounting principles generally accepted in the United States of America for interim financial information, pursuant to the rules and regulations of the Securities and Exchange Commission. Pursuant to these rules and regulations, certain financial information and footnote disclosures normally included in the financial statements have been condensed or omitted. However, in the opinion of management, the financial statements include all adjustments, consisting of normal recurring accruals, necessary for a fair presentation of the financial position, results of operations and cash flows of the interim periods presented. </div>Operating results for the interim periods presented are <div style="display: inline; font-style: italic; font: inherit;">not</div> necessarily indicative of results to be expected for the full year or for any other interim period, due to variability in customer purchasing patterns and seasonal, operating and other factors. <div style="display: inline; color: black">These condensed financial statements should be read in conjunction with the financial statements and notes thereto included in the Company’s Annual Report on Form <div style="display: inline; font-style: italic; font: inherit;">10</div>-K for the year ended <div style="display: inline; font-style: italic; font: inherit;"> September 30, 2019.</div></div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">In preparation of the Company’s financial statements, management is required to make estimates and assumptions that affect reported amounts of assets and liabilities and related revenues and expenses during the reporting periods. As future events and their effects cannot be determined with precision, actual results could differ significantly from these estimates.</div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"> </div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><div style="display: inline; font-weight: bold;">Recently Adopted Accounting Pronouncements</div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"><div style="display: inline; font-weight: bold;"> </div></div> <div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Effective <div style="display: inline; font-style: italic; font: inherit;"> October 1, 2019 </div>we adopted the Financial Accounting Standards Board (“FASB”) Accounting Standards Update (“ASU”) <div style="display: inline; font-style: italic; font: inherit;">2016</div>-<div style="display: inline; font-style: italic; font: inherit;">02,</div> <div style="display: inline; font-style: italic;">Leases</div>, using the effective date method under the modified retrospective approach. The amended guidance requires lessees, at the commencement date, to recognize a lease liability, which is a lessee's obligation to make lease payments arising from a lease, measured on a discounted basis, and to record a right-of-use asset, which is an asset that represents the lessee’s right to use, or control the use of, a specified asset for the lease term. In <div style="display: inline; font-style: italic; font: inherit;"> July 2018, </div>the FASB issued ASU <div style="display: inline; font-style: italic; font: inherit;">2018</div>-<div style="display: inline; font-style: italic; font: inherit;">11,</div> <div style="display: inline; font-style: italic;">Leases, Targeted Improvements</div>, which gave companies the option of applying the new standard at the adoption date, rather than retrospectively to the earliest period presented in the financial statements. The Company elected the package of practical expedients permitted under the new standard, which among other things, allowed the Company to carry forward the historical lease classification. The Company also elected the practical expedient to <div style="display: inline; font-style: italic; font: inherit;">not</div> recognize a lease liability and ROU asset for short-term leases less than <div style="display: inline; font-style: italic; font: inherit;">12</div> months. We chose the option to apply the new standard at the adoption date, and therefore we are <div style="display: inline; font-style: italic; font: inherit;">not</div> required to restate the financial statements for prior periods, nor are we required to provide the disclosures required by the new standard for prior periods. Upon adoption, we recognized an approximate <div style="display: inline; font-style: italic; font: inherit;">$2.4</div> million right-of-use asset, and an approximate <div style="display: inline; font-style: italic; font: inherit;">$2.6</div> million lease liability. Our adoption of the new standard did <div style="display: inline; font-style: italic; font: inherit;">not</div> impact our cash flows or have a material impact on our results of operations. We have expanded our financial statement disclosures to comply with the requirements of the new standard.</div></div> | ||
CY2020Q1 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
8575556 | |
CY2019Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
10081721 | |
CY2018Q3 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
8547777 | |
CY2019Q1 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
7905627 | |
us-gaap |
Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
|
-1506165 | ||
us-gaap |
Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
|
-642150 | ||
CY2020Q1 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2019Q3 | us-gaap |
Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q1 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
50000000 | |
CY2019Q3 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
50000000 | |
CY2020Q1 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
13627639 | |
CY2019Q3 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
13641805 | |
CY2020Q1 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
13627639 | |
CY2019Q3 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
13641805 | |
CY2020Q1 | us-gaap |
Common Stock Value
CommonStockValue
|
136276 | |
CY2019Q3 | us-gaap |
Common Stock Value
CommonStockValue
|
136418 | |
CY2020Q1 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
12257076 | |
CY2019Q1 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
12059122 | |
us-gaap |
Cost Of Revenue
CostOfRevenue
|
23907532 | ||
us-gaap |
Cost Of Revenue
CostOfRevenue
|
24201574 | ||
CY2020Q1 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
101690 | |
CY2019Q3 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
101690 | |
CY2020Q1 | us-gaap |
Deferred Rent Credit
DeferredRentCredit
|
||
CY2019Q3 | us-gaap |
Deferred Rent Credit
DeferredRentCredit
|
246424 | |
us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1210961 | ||
us-gaap |
Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
|
1064024 | ||
CY2020Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.05 | |
CY2019Q1 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.02 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.09 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.10 | ||
CY2020Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.05 | |
CY2019Q1 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.02 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.09 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.10 | ||
CY2020Q1 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.203 | |
us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.2 | ||
CY2019Q1 | us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.212 | |
us-gaap |
Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
|
0.223 | ||
CY2020Q1 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
|
2324790 | |
us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
|
P4Y146D | ||
CY2020Q1 | us-gaap |
Goodwill
Goodwill
|
4708511 | |
CY2019Q3 | us-gaap |
Goodwill
Goodwill
|
4708511 | |
CY2019 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | |
us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | ||
CY2020Q1 | us-gaap |
Gross Profit
GrossProfit
|
8151433 | |
CY2019Q1 | us-gaap |
Gross Profit
GrossProfit
|
7025243 | |
us-gaap |
Gross Profit
GrossProfit
|
15878968 | ||
us-gaap |
Gross Profit
GrossProfit
|
14971941 | ||
CY2020Q1 | us-gaap |
Held To Maturity Securities
HeldToMaturitySecurities
|
39838841 | |
CY2019Q3 | us-gaap |
Held To Maturity Securities
HeldToMaturitySecurities
|
37426270 | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
1562055 | ||
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
1772902 | ||
CY2020Q1 | us-gaap |
Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
|
25130000 | |
CY2019Q3 | us-gaap |
Held To Maturity Securities Debt Maturities After One Through Five Years Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesAfterOneThroughFiveYearsNetCarryingAmount
|
23902000 | |
CY2020Q1 | us-gaap |
Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
|
14708841 | |
CY2019Q3 | us-gaap |
Held To Maturity Securities Debt Maturities Within One Year Net Carrying Amount
HeldToMaturitySecuritiesDebtMaturitiesWithinOneYearNetCarryingAmount
|
13524270 | |
CY2020Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
937897 | |
CY2019Q1 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
466942 | |
CY2020Q1 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
190000 | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
313000 | ||
CY2019Q1 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
99000 | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
395000 | ||
us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
355657 | ||
us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
1051716 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-1049108 | ||
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-3623266 | ||
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
2675123 | ||
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-1776613 | ||
us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
-98010 | ||
us-gaap |
Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
|
486554 | ||
CY2020Q1 | us-gaap |
Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
|
||
CY2019Q1 | us-gaap |
Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
|
27990 | |
us-gaap |
Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
|
55066 | ||
us-gaap |
Incremental Common Shares Attributable To Contingently Issuable Shares
IncrementalCommonSharesAttributableToContingentlyIssuableShares
|
13995 | ||
CY2020Q1 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
4968938 | |
CY2019Q3 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
5147135 | |
CY2020Q1 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
1950704 | |
CY2019Q3 | us-gaap |
Inventory Finished Goods Net Of Reserves
InventoryFinishedGoodsNetOfReserves
|
1356720 | |
CY2020Q1 | us-gaap |
Inventory Net
InventoryNet
|
11688103 | |
CY2019Q3 | us-gaap |
Inventory Net
InventoryNet
|
9012980 | |
CY2020Q1 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
8795376 | |
CY2019Q3 | us-gaap |
Inventory Raw Materials Net Of Reserves
InventoryRawMaterialsNetOfReserves
|
7115298 | |
CY2020Q1 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
942023 | |
CY2019Q3 | us-gaap |
Inventory Work In Process Net Of Reserves
InventoryWorkInProcessNetOfReserves
|
540962 | |
CY2020Q1 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
217725 | |
CY2019Q1 | us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
169443 | |
us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
440968 | ||
us-gaap |
Investment Income Interest
InvestmentIncomeInterest
|
304580 | ||
CY2020Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
744963 | |
CY2020Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
772803 | |
CY2020Q1 | us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
274272 | |
us-gaap |
Operating Lease Expense
OperatingLeaseExpense
|
516266 | ||
CY2020Q1 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
3182866 | |
CY2020Q1 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
714008 | |
CY2020Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
3444778 | |
CY2020Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
|
217552 | |
CY2020Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
|
516725 | |
CY2020Q1 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
752423 | |
CY2020Q1 | us-gaap |
Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
|
440312 | |
CY2020Q1 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
261912 | |
CY2020Q1 | us-gaap |
Liabilities
Liabilities
|
10958184 | |
CY2019Q3 | us-gaap |
Liabilities
Liabilities
|
6955176 | |
CY2020Q1 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
87206926 | |
CY2019Q3 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
81888563 | |
CY2020Q1 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
8387636 | |
CY2019Q3 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
6607062 | |
CY2020Q1 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
2570548 | |
CY2019Q3 | us-gaap |
Liabilities Noncurrent
LiabilitiesNoncurrent
|
348114 | |
CY2020Q1 | us-gaap |
Long Term Investments
LongTermInvestments
|
25130000 | |
CY2019Q3 | us-gaap |
Long Term Investments
LongTermInvestments
|
23902000 | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-262223 | ||
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
139288 | ||
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-3540266 | ||
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-9254000 | ||
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
2296324 | ||
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
8472562 | ||
us-gaap |
Net Income Loss
NetIncomeLoss
|
1249055 | ||
us-gaap |
Net Income Loss
NetIncomeLoss
|
1377902 | ||
CY2020Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
747897 | |
CY2019Q1 | us-gaap |
Net Income Loss
NetIncomeLoss
|
367942 | |
CY2020Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
720172 | |
CY2019Q1 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
297499 | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
1121087 | ||
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
1468322 | ||
CY2019Q3 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
||
CY2020Q1 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
2468858 | |
CY2019Q3 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
||
CY2020Q1 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
168815 | |
us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
336655 | ||
CY2020Q1 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
2911577 | |
CY2019Q3 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
||
CY2020Q1 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0348 | |
CY2019Q3 | us-gaap |
Operating Leases Future Minimum Payments Due
OperatingLeasesFutureMinimumPaymentsDue
|
2851816 | |
CY2019Q3 | us-gaap |
Operating Leases Future Minimum Payments Due Current
OperatingLeasesFutureMinimumPaymentsDueCurrent
|
643040 | |
CY2019Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Five Years
OperatingLeasesFutureMinimumPaymentsDueInFiveYears
|
516720 | |
CY2019Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Four Years
OperatingLeasesFutureMinimumPaymentsDueInFourYears
|
503895 | |
CY2019Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Three Years
OperatingLeasesFutureMinimumPaymentsDueInThreeYears
|
491397 | |
CY2019Q3 | us-gaap |
Operating Leases Future Minimum Payments Due In Two Years
OperatingLeasesFutureMinimumPaymentsDueInTwoYears
|
479213 | |
CY2019Q3 | us-gaap |
Operating Leases Future Minimum Payments Due Thereafter
OperatingLeasesFutureMinimumPaymentsDueThereafter
|
217551 | |
CY2019Q1 | us-gaap |
Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
|
217956 | |
us-gaap |
Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
|
440322 | ||
CY2020Q1 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
687881 | |
CY2019Q3 | us-gaap |
Other Assets Current
OtherAssetsCurrent
|
769161 | |
CY2020Q1 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
194174 | |
CY2019Q3 | us-gaap |
Other Assets Noncurrent
OtherAssetsNoncurrent
|
210905 | |
us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
428654 | ||
us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
|||
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
5803 | ||
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
6676 | ||
us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
19076930 | ||
us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
12274393 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
1183336 | ||
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
551607 | ||
CY2020Q1 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2019Q3 | us-gaap |
Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
|
0.01 | |
CY2020Q1 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
500000 | |
CY2019Q3 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
500000 | |
CY2020Q1 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2019Q3 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2020Q1 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2019Q3 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2020Q1 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
CY2019Q3 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
||
us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
169652 | ||
us-gaap |
Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
|
145940 | ||
us-gaap |
Proceeds From Sale And Maturity Of Held To Maturity Securities
ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities
|
16720000 | ||
us-gaap |
Proceeds From Sale And Maturity Of Held To Maturity Securities
ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities
|
3572000 | ||
us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
2582 | ||
us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
24 | ||
CY2020Q1 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
5563814 | |
CY2019Q3 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
5413241 | |
CY2020Q1 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
19069862 | |
CY2019Q3 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
17820807 | |
CY2020Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
20408509 | |
CY2019Q1 | us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
19084365 | |
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
39786500 | ||
us-gaap |
Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
|
39173515 | ||
CY2020Q1 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
7431261 | |
CY2019Q1 | us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
6727744 | |
us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
14757881 | ||
us-gaap |
Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
|
13503619 | ||
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
328523 | ||
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1102190 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Period1
ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
|
P4Y284D | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Award Vesting Period1
ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
|
P3Y | ||
CY2018Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
68874876 | |
CY2020Q1 | us-gaap |
Unrecognized Tax Benefits
UnrecognizedTaxBenefits
|
0 | |
CY2020Q1 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13521172 | |
CY2019Q1 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13450212 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13571674 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
13425178 | ||
CY2020Q1 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13521172 | |
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
|
0 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
|
48000 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
|
13.35 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
116600 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
172000 | ||
CY2020Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
102150 | |
CY2019Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
290750 | |
CY2020Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
355350 | |
CY2019Q3 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
11.86 | |
CY2020Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
11.95 | |
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
2.58 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
12.43 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
12.17 | ||
us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Expiration Period
SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
|
P5Y284D | ||
us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Expiration Period
SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
|
P4Y | ||
us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
|
P2Y113D | ||
CY2020Q1 | us-gaap |
Short Term Investments
ShortTermInvestments
|
14708841 | |
CY2019Q3 | us-gaap |
Short Term Investments
ShortTermInvestments
|
13524270 | |
us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
4000 | ||
us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
169652 | ||
us-gaap |
Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
|
145940 | ||
CY2020Q1 | us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
||
us-gaap |
Stock Issued During Period Value Restricted Stock Award Net Of Forfeitures
StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
|
|||
CY2020Q1 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
2 | |
CY2020Q1 | us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
428654 | |
us-gaap |
Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
|
428654 | ||
CY2020Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
76248742 | |
CY2019Q3 | us-gaap |
Stockholders Equity
StockholdersEquity
|
74933387 | |
CY2019Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
75841560 | |
CY2018Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
70562641 | |
CY2019Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
71494256 | |
CY2019Q1 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13422222 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13516608 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
13411183 |