2019 Q4 Form 10-Q Financial Statement

#000143774919021778 Filed on November 06, 2019

View on sec.gov

Income Statement

Concept 2019 Q4 2019 Q3 2019 Q2
Revenue $85.95M $88.13M $84.12M
YoY Change 0.39% 5.52% 3.74%
Cost Of Revenue $59.90M $60.56M $59.61M
YoY Change 3.49% 2.19% 1.16%
Gross Profit $26.05M $27.57M $24.51M
YoY Change -6.08% 13.66% 10.6%
Gross Profit Margin 30.3% 31.29% 29.13%
Selling, General & Admin $11.97M $13.34M $13.65M
YoY Change -9.59% 6.47% 12.75%
% of Gross Profit 45.96% 48.39% 55.71%
Research & Development $1.570M $2.876M $2.752M
YoY Change -24.88% 30.31% 16.86%
% of Gross Profit 6.03% 10.43% 11.23%
Depreciation & Amortization $5.380M $2.348M $2.172M
YoY Change 34.5% 62.49% 63.31%
% of Gross Profit 20.66% 8.52% 8.86%
Operating Expenses $16.19M $18.97M $18.76M
YoY Change -6.09% 14.19% 14.07%
Operating Profit $9.855M $8.601M $5.749M
YoY Change -6.06% 12.49% 0.61%
Interest Expense -$1.110M -$1.280M -$1.280M
YoY Change -4.31% 45.45% 28.0%
% of Operating Profit -11.26% -14.88% -22.26%
Other Income/Expense, Net $0.00 -$1.263M -$1.314M
YoY Change -100.0% 35.81% 49.66%
Pretax Income $8.740M $7.338M $4.435M
YoY Change -9.71% 9.26% -8.29%
Income Tax -$2.830M $3.100M $1.800M
% Of Pretax Income -32.38% 42.25% 40.59%
Net Earnings $5.778M $4.205M $2.616M
YoY Change 30.25% -21.34% -27.49%
Net Earnings / Revenue 6.72% 4.77% 3.11%
Basic Earnings Per Share $0.55 $0.40 $0.25
Diluted Earnings Per Share $0.54 $0.39 $0.24
COMMON SHARES
Basic Shares Outstanding 10.57M 10.63M 10.66M
Diluted Shares Outstanding 10.75M 10.84M

Balance Sheet

Concept 2019 Q4 2019 Q3 2019 Q2
SHORT-TERM ASSETS
Cash & Short-Term Investments $20.40M $12.00M $12.00M
YoY Change 61.9% 11.11% 7.14%
Cash & Equivalents $20.39M $11.99M $12.00M
Short-Term Investments
Other Short-Term Assets $105.4M $115.3M $2.501M
YoY Change 8.67% -97.73%
Inventory $3.457M $3.903M $3.259M
Prepaid Expenses $91.25M $95.61M $97.79M
Receivables $14.56M $13.35M $11.59M
Other Receivables $1.800M $2.500M $3.200M
Total Short-Term Assets $145.7M $147.1M $149.9M
YoY Change 10.42% 9.21% 7.15%
LONG-TERM ASSETS
Property, Plant & Equipment $82.12M $72.17M $64.01M
YoY Change 70.85% 79.43% 85.33%
Goodwill $109.8M $110.1M $110.1M
YoY Change 21.95% 22.26% 22.25%
Intangibles $57.65M $60.07M $59.45M
YoY Change 16.72% 16.62% 10.72%
Long-Term Investments
YoY Change
Other Assets $17.90M $17.50M $18.10M
YoY Change -4.28% -16.67% -18.1%
Total Long-Term Assets $280.2M $272.2M $264.3M
YoY Change 34.96% 34.24% 31.95%
TOTAL ASSETS
Total Short-Term Assets $145.7M $147.1M $149.9M
Total Long-Term Assets $280.2M $272.2M $264.3M
Total Assets $425.9M $419.3M $414.3M
YoY Change 25.43% 24.25% 21.75%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $6.671M $5.440M $7.590M
YoY Change -21.01% -34.0% 3.41%
Accrued Expenses $9.373M $14.45M $10.79M
YoY Change 58.89% 110.05% 59.36%
Deferred Revenue $123.1M $128.1M $130.5M
YoY Change 5.45% 6.37% 6.12%
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due $0.00 $0.00 $0.00
YoY Change -100.0% -100.0% -100.0%
Total Short-Term Liabilities $156.9M $166.1M $165.7M
YoY Change -5.1% -0.85% -2.89%
LONG-TERM LIABILITIES
Long-Term Debt $113.5M $105.0M $99.90M
YoY Change 145.67% 125.32% 95.88%
Other Long-Term Liabilities $0.00 $35.30M $36.40M
YoY Change 13582.17% 14008.53%
Total Long-Term Liabilities $0.00 $140.3M $136.3M
YoY Change 54279.84% 52729.46%
TOTAL LIABILITIES
Total Short-Term Liabilities $156.9M $166.1M $165.7M
Total Long-Term Liabilities $0.00 $140.3M $136.3M
Total Liabilities $156.9M $332.3M $327.3M
YoY Change -5.1% 98.06% 91.48%
SHAREHOLDERS EQUITY
Retained Earnings $76.21M $70.43M $66.23M
YoY Change 25.32% 24.94% 29.78%
Common Stock $17.51M $16.60M $20.66M
YoY Change -11.44% -13.09% 11.78%
Preferred Stock
YoY Change
Treasury Stock (at cost)
YoY Change
Treasury Stock Shares
Shareholders Equity $94.19M $87.00M $87.00M
YoY Change
Total Liabilities & Shareholders Equity $425.9M $419.3M $414.3M
YoY Change 25.43% 24.25% 21.75%

Cashflow Statement

Concept 2019 Q4 2019 Q3 2019 Q2
OPERATING ACTIVITIES
Net Income $5.778M $4.205M $2.616M
YoY Change 30.25% -21.34% -27.49%
Depreciation, Depletion And Amortization $5.380M $2.348M $2.172M
YoY Change 34.5% 62.49% 63.31%
Cash From Operating Activities $13.19M $11.22M $6.979M
YoY Change 23.62% 0.01% 21.29%
INVESTING ACTIVITIES
Capital Expenditures -$12.91M $10.31M $10.41M
YoY Change 52.24% 47.19% 42.29%
Acquisitions
YoY Change
Other Investing Activities -$430.0K -$1.040M -$2.530M
YoY Change -6.52% 845.45%
Cash From Investing Activities -$13.34M -$11.35M -$12.94M
YoY Change 49.38% 59.44% 76.83%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net $4.986M $0.00
YoY Change
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities 8.550M $117.0K $6.931M
YoY Change 7025.0% -102.61% -279.47%
NET CHANGE
Cash From Operating Activities 13.19M $11.22M $6.979M
Cash From Investing Activities -13.34M -$11.35M -$12.94M
Cash From Financing Activities 8.550M $117.0K $6.931M
Net Change In Cash 8.400M -$14.00K $968.0K
YoY Change 351.61% -96.37% -117.84%
FREE CASH FLOW
Cash From Operating Activities $13.19M $11.22M $6.979M
Capital Expenditures -$12.91M $10.31M $10.41M
Free Cash Flow $26.10M $907.0K -$3.435M
YoY Change 36.29% -78.46% 119.49%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
dei Trading Symbol
TradingSymbol
tcx
dei Amendment Flag
AmendmentFlag
false
dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
Q3
dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2019
CY2019Q3 tcx Accreditation Fees Payable Current
AccreditationFeesPayableCurrent
977000
CY2018Q3 tcx Acquisition Of Intangible Assets Transferred From Other Assets
AcquisitionOfIntangibleAssetsTransferredFromOtherAssets
tcx Acquisition Of Intangible Assets Transferred From Other Assets
AcquisitionOfIntangibleAssetsTransferredFromOtherAssets
tcx Acquisition Of Intangible Assets Transferred From Other Assets
AcquisitionOfIntangibleAssetsTransferredFromOtherAssets
tcx Allowance For Doubtful Accounts Charged To Recovered Costs And Expenses
AllowanceForDoubtfulAccountsChargedToRecoveredCostsAndExpenses
-2000
CY2018Q4 tcx Accreditation Fees Payable Current
AccreditationFeesPayableCurrent
985000
CY2019Q2 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
-39000
CY2019Q3 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
8000
CY2018Q4 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
259000
CY2019Q3 tcx Acquisition Of Intangible Assets Transferred From Other Assets
AcquisitionOfIntangibleAssetsTransferredFromOtherAssets
2501000
CY2018 tcx Allowance For Doubtful Accounts Charged To Recovered Costs And Expenses
AllowanceForDoubtfulAccountsChargedToRecoveredCostsAndExpenses
-36000
CY2019Q3 tcx Amortization Of Contract Costs
AmortizationOfContractCosts
-61000
CY2018Q3 tcx Amortization Of Contract Costs
AmortizationOfContractCosts
-29000
tcx Amortization Of Contract Costs
AmortizationOfContractCosts
-8000
tcx Amortization Of Contract Costs
AmortizationOfContractCosts
21000
CY2019Q3 tcx Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
2544000
CY2018Q3 tcx Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
1797000
tcx Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
6661000
tcx Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
5456000
tcx Contract With Customer Liability Additions
ContractWithCustomerLiabilityAdditions
176675000
CY2019Q3 tcx Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
2254000
CY2018Q3 tcx Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
2315000
tcx Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
7034000
tcx Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
7590000
CY2019Q3 tcx Customer Deposit Liability Current
CustomerDepositLiabilityCurrent
14920000
CY2018Q4 tcx Customer Deposit Liability Current
CustomerDepositLiabilityCurrent
11919000
CY2019Q3 tcx Disposal Of Domain Names
DisposalOfDomainNames
66000
tcx Disposal Of Domain Names
DisposalOfDomainNames
72000
CY2018Q3 tcx Disposal Of Domain Names
DisposalOfDomainNames
5000
tcx Disposal Of Domain Names
DisposalOfDomainNames
70000
dei Document Period End Date
DocumentPeriodEndDate
2019-09-30
dei Document Type
DocumentType
10-Q
dei Entity Central Index Key
EntityCentralIndexKey
0000909494
CY2019Q4 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
10572244
dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
dei Entity Filer Category
EntityFilerCategory
Accelerated Filer
dei Entity Registrant Name
EntityRegistrantName
TUCOWS INC /PA/
dei Entity Shell Company
EntityShellCompany
false
dei Entity Small Business
EntitySmallBusiness
false
dei Security12b Title
Security12bTitle
Common Stock
CY2019Q3 tcx Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
-68000
CY2018Q3 tcx Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
-73000
tcx Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
-34000
tcx Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
-169000
CY2019Q3 tcx Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
1394000
CY2018Q3 tcx Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
-1049000
tcx Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
873000
tcx Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
-3370000
CY2019Q3 tcx Increase Decrease In Operating Lease Rightofuse Asset
IncreaseDecreaseInOperatingLeaseRightofuseAsset
86000
tcx Increase Decrease In Operating Lease Rightofuse Asset
IncreaseDecreaseInOperatingLeaseRightofuseAsset
4554000
CY2019Q3 tcx Lessee Operating Lease Lease Not Yet Commenced Future Minimum Payments Due
LesseeOperatingLeaseLeaseNotYetCommencedFutureMinimumPaymentsDue
0
tcx Lessee Operating Lease Option To Extend Amount
LesseeOperatingLeaseOptionToExtendAmount
800000
tcx Lessee Operating Lease Option To Terminate Term
LesseeOperatingLeaseOptionToTerminateTerm
P1Y
CY2019Q3 tcx Operating Lease Net
OperatingLeaseNet
54000
CY2018Q3 tcx Operating Lease Net
OperatingLeaseNet
tcx Operating Lease Net
OperatingLeaseNet
5000
tcx Operating Lease Net
OperatingLeaseNet
CY2019Q3 us-gaap Accounts Payable Current
AccountsPayableCurrent
5440000
CY2018Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
8445000
CY2019Q3 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
13351000
CY2018Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
10837000
CY2019Q3 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
689000
CY2018Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
1668000
CY2019Q3 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
14445000
CY2018Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
5899000
CY2019Q2 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
159000
CY2019Q3 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
-37000
CY2018Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
-1069000
CY2019Q2 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
120000
CY2019Q3 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-29000
CY2018Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-810000
CY2019Q3 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
106000
CY2018Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
3953000
CY2019Q3 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
20000
us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
544000
CY2019Q3 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
800000
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
2000000
CY2018Q3 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
700000
us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
1900000
CY2018Q4 us-gaap Assets Current
AssetsCurrent
131926000
CY2018Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
132000
CY2019Q3 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
130000
CY2017Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
168000
CY2019Q3 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
130000
CY2018Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
132000
us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
CY2018 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
CY2019Q3 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
64000
CY2018Q3 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
72000
us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
232000
us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
211000
CY2019Q3 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2858000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
7463000
CY2018Q3 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2296000
us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
6953000
CY2019Q3 us-gaap Assets
Assets
419342000
CY2018Q4 us-gaap Assets
Assets
339575000
CY2019Q3 us-gaap Assets Current
AssetsCurrent
147106000
us-gaap Basis Of Accounting
BasisOfAccounting
<div style="display: inline; font-family: times new roman; font-size: 10pt"><div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2.</div> Basis of presentation:</div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The accompanying unaudited interim consolidated balance sheets, and the related consolidated statements of operations and comprehensive income and cash flows reflect all adjustments, consisting of normal recurring adjustments, that are, in the opinion of management, necessary for a fair presentation of the financial position of Tucows and its subsidiaries as at <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> September 30, 2019 </div>and the results of operations and cash flows for the interim periods ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> September 30, 2019 </div>and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018.</div> The results of operations presented in this Quarterly Report on Form&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10</div>-Q are <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">not</div> necessarily indicative of the results of operations that <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> may </div>be expected for future periods.</div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;">&nbsp;</div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:left;text-indent:36pt;">The accompanying unaudited interim consolidated financial statements have been prepared by Tucows in accordance with the rules&nbsp;and regulations of the United States Securities and Exchange Commission (the &#x201c;SEC&#x201d;). Certain information and footnote disclosures normally included in the Company's annual audited consolidated financial statements and accompanying notes have been condensed or omitted. Other than the exception noted below, these interim consolidated financial statements and accompanying notes follow the same accounting policies and methods of application used in the annual financial statements and should be read in conjunction with the Company's audited consolidated financial statements and notes thereto for the year ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> December 31, 2018 </div>included in Tucows' <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> Annual Report on Form&nbsp;<div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">10</div>-K filed with the SEC on <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> March&nbsp;</div><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">5,</div> <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2019</div> (the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">&#x201c;2018</div> Annual Report&#x201d;). There have been <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">no</div> material changes to our significant accounting policies and estimates during the <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">three</div> and <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">nine</div> months ended <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;"> September 30, 2019 </div>as compared to the significant accounting policies and estimates described in our <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">2018</div> Annual Report, except as described in Note <div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">3</div> &#x2013; Recent accounting pronouncements.</div></div>
CY2019Q3 us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
991000
CY2018Q3 us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
382000
us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
991000
us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
382000
CY2019Q3 us-gaap Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
1398000
CY2018Q4 us-gaap Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
1390000
CY2018Q3 us-gaap Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
-386000
us-gaap Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
-648000
us-gaap Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
-7274000
CY2019Q3 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2018Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
us-gaap Cash Acquired From Acquisition
CashAcquiredFromAcquisition
1437000
CY2019Q2 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
12003000
CY2018Q2 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
11161000
CY2018Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
12637000
CY2017Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
18049000
CY2019Q3 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
11989000
CY2018Q3 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
10775000
CY2019Q3 us-gaap Cash And Cash Equivalents Period Increase Decrease
CashAndCashEquivalentsPeriodIncreaseDecrease
-14000
CY2019Q3 us-gaap Common Stock No Par Value
CommonStockNoParValue
0
CY2018Q4 us-gaap Common Stock No Par Value
CommonStockNoParValue
0
CY2019Q3 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2018Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2019Q3 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
10572069
CY2018Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
10627988
CY2019Q3 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
10572069
CY2018Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
10627988
CY2019Q3 us-gaap Common Stock Value
CommonStockValue
16492000
CY2018Q4 us-gaap Common Stock Value
CommonStockValue
15823000
CY2019Q3 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
4056000
CY2018Q3 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
5553000
us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
10401000
us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
12663000
CY2019Q1 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
143700000
CY2018Q4 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
143694000
us-gaap Cost Of Revenue
CostOfRevenue
191362000
CY2019Q3 us-gaap Debt Instrument Unamortized Discount
DebtInstrumentUnamortizedDiscount
959000
CY2018Q4 us-gaap Debt Instrument Unamortized Discount
DebtInstrumentUnamortizedDiscount
555000
CY2019Q3 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-170000
CY2018Q3 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-369000
CY2019Q3 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
154141000
CY2019Q3 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
128138000
CY2018Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
116734000
us-gaap Contract With Customer Liability Increase Decrease For Contract Acquired In Business Combination
ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination
12509000
CY2019Q3 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
26003000
CY2018Q4 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
26960000
us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
-178737000
CY2019Q3 us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
55756000
CY2018Q3 us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
55105000
us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
162561000
us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
178578000
CY2019Q3 us-gaap Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
314000
CY2018Q3 us-gaap Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
499000
us-gaap Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
802000
us-gaap Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
1497000
CY2019Q3 us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
2231000
CY2018Q3 us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
1339000
us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
6070000
us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
3697000
CY2019Q3 us-gaap Cost Of Revenue
CostOfRevenue
60555000
CY2018Q3 us-gaap Cost Of Revenue
CostOfRevenue
59258000
us-gaap Cost Of Revenue
CostOfRevenue
176467000
us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
1741000
us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-861000
CY2019Q3 us-gaap Deferred Rent Credit Current
DeferredRentCreditCurrent
CY2018Q4 us-gaap Deferred Rent Credit Current
DeferredRentCreditCurrent
21000
CY2019Q3 us-gaap Deferred Rent Credit Noncurrent
DeferredRentCreditNoncurrent
CY2018Q4 us-gaap Deferred Rent Credit Noncurrent
DeferredRentCreditNoncurrent
116000
CY2019Q3 us-gaap Deferred Tax Liabilities Noncurrent
DeferredTaxLiabilitiesNoncurrent
25941000
CY2018Q4 us-gaap Deferred Tax Liabilities Noncurrent
DeferredTaxLiabilitiesNoncurrent
20925000
CY2019Q3 us-gaap Depreciation
Depreciation
2348000
CY2018Q3 us-gaap Depreciation
Depreciation
1445000
us-gaap Depreciation
Depreciation
6445000
us-gaap Depreciation
Depreciation
4006000
CY2019Q3 us-gaap Depreciation And Amortization
DepreciationAndAmortization
117000
CY2018Q3 us-gaap Depreciation And Amortization
DepreciationAndAmortization
106000
us-gaap Depreciation And Amortization
DepreciationAndAmortization
375000
us-gaap Depreciation And Amortization
DepreciationAndAmortization
309000
us-gaap Derivative Instruments Gain Loss Recognized In Income Ineffective Portion And Amount Excluded From Effectiveness Testing Net
DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet
CY2019Q3 us-gaap Derivative Liabilities Current
DerivativeLiabilitiesCurrent
41000
CY2018Q4 us-gaap Derivative Liabilities Current
DerivativeLiabilitiesCurrent
1276000
CY2019Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.40
CY2018Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.50
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.90
us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.20
CY2019Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.39
CY2018Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.50
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.89
us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.18
us-gaap Employee Service Share Based Compensation Allocation Of Recognized Period Costs Capitalized Amount
EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
0
us-gaap Employee Service Share Based Compensation Allocation Of Recognized Period Costs Capitalized Amount
EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
0
us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
P2Y219D
CY2019Q3 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Stock Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
7700000
CY2019Q3 us-gaap Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
53000
CY2018Q3 us-gaap Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
191000
us-gaap Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
790000
us-gaap Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
532000
CY2019Q3 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
32000000
CY2018Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
24500000
CY2019Q3 us-gaap Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
4730000
CY2019Q3 us-gaap Finite Lived Intangible Assets Amortization Expense Remainder Of Fiscal Year
FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
2385000
CY2019Q3 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
9288000
CY2019Q3 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
10140000
CY2019Q3 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
10580000
CY2019Q3 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
10594000
CY2019Q3 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
47717000
CY2018Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
36974000
CY2019Q3 us-gaap Finitelived Intangible Assets Acquired1
FinitelivedIntangibleAssetsAcquired1
64000
us-gaap Finitelived Intangible Assets Acquired1
FinitelivedIntangibleAssetsAcquired1
91000
CY2019Q3 us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
-20000
CY2018Q3 us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
27000
us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
90000
us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
-22000
CY2019Q3 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-73000
us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-73000
us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
CY2018Q3 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
CY2019Q3 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
4574000
CY2018Q3 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
4120000
us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
13818000
us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
12906000
CY2019Q3 us-gaap Goodwill
Goodwill
110100000
CY2018Q4 us-gaap Goodwill
Goodwill
90054000
us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
20000000
CY2019Q3 us-gaap Gross Profit
GrossProfit
27574000
CY2018Q3 us-gaap Gross Profit
GrossProfit
24261000
us-gaap Gross Profit
GrossProfit
74732000
us-gaap Gross Profit
GrossProfit
69039000
CY2019Q3 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
7338000
CY2018Q3 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
6716000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
15829000
us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
16480000
CY2019Q3 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
7300000
CY2018Q3 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
6700000
us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
15800000
us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
16500000
CY2019Q3 us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
4205000
CY2018Q3 us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
5346000
CY2019Q3 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
1763000
CY2018Q3 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-685000
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
1920000
us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-847000
CY2019Q3 us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
3687000
CY2018Q3 us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
107000
us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
7274000
us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
465000
CY2019Q3 us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
-4200000
us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
158555
us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
196425
CY2019Q2 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
59451000
us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
9620000
us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
12699000
CY2019Q3 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
3133000
CY2018Q3 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
1370000
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
6209000
us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
3781000
CY2019Q3 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
1959000
CY2018Q3 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
1793000
us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
6123000
us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
5370000
CY2019Q3 us-gaap Income Taxes Receivable
IncomeTaxesReceivable
2532000
CY2018Q4 us-gaap Income Taxes Receivable
IncomeTaxesReceivable
1423000
CY2019Q3 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-2394000
CY2018Q3 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
778000
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-2778000
us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
1048000
CY2018Q3 us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
-3559000
us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
-2062000
us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
-12090000
CY2019Q3 us-gaap Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
-1576000
CY2018Q3 us-gaap Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
137000
us-gaap Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
1299000
us-gaap Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
-293000
CY2019Q3 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
644000
CY2018Q3 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-108000
us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
128000
us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
196000
CY2019Q3 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
329000
CY2018Q3 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
-874000
us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
3243000
us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
368000
CY2019Q3 us-gaap Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
-3819000
CY2018Q3 us-gaap Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
-4229000
us-gaap Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
-3754000
us-gaap Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
-15777000
CY2019Q3 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
119080
CY2018Q3 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
182718
CY2019Q3 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
60066000
CY2018Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
49395000
CY2019Q3 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-1263000
CY2018Q3 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-914000
us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-3549000
CY2019Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
1819000
CY2019Q3 us-gaap Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
541000
CY2019Q3 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
2709000
CY2019Q3 us-gaap Lessee Operating Lease Renewal Term
LesseeOperatingLeaseRenewalTerm
P5Y
CY2019Q3 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
CY2019Q3 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
CY2019Q3 us-gaap Long Term Debt Maturities Repayments Of Principal Remainder Of Fiscal Year
LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
CY2019Q3 us-gaap Long Term Loans Payable
LongTermLoansPayable
104968000
CY2018Q4 us-gaap Long Term Loans Payable
LongTermLoansPayable
46201000
CY2019Q3 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
117000
CY2018Q3 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-4484000
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
34914000
us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-13062000
CY2019Q3 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-11346000
CY2018Q3 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-7116000
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-62747000
us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-20753000
us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-2761000
CY2019Q3 us-gaap Interest Paid Net
InterestPaidNet
1267000
CY2018Q3 us-gaap Interest Paid Net
InterestPaidNet
919000
us-gaap Interest Paid Net
InterestPaidNet
3561000
us-gaap Interest Paid Net
InterestPaidNet
2781000
CY2019Q3 us-gaap Inventory Net
InventoryNet
3903000
CY2018Q4 us-gaap Inventory Net
InventoryNet
3775000
CY2019Q3 us-gaap Lease Cost
LeaseCost
1070000
us-gaap Lease Cost
LeaseCost
3734000
CY2019Q3 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
13266000
CY2019Q3 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
5991000
CY2019Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
1583000
CY2019Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
1625000
CY2019Q3 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
1707000
CY2019Q3 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
419342000
CY2018Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
339575000
CY2019Q3 us-gaap Liabilities Current
LiabilitiesCurrent
166100000
CY2018Q4 us-gaap Liabilities Current
LiabilitiesCurrent
165347000
CY2019Q3 us-gaap Loans Payable
LoansPayable
104968000
CY2018Q4 us-gaap Loans Payable
LoansPayable
64601000
CY2019Q3 us-gaap Loans Payable Current
LoansPayableCurrent
CY2018Q4 us-gaap Loans Payable Current
LoansPayableCurrent
18400000
CY2019Q3 us-gaap Long Term Debt
LongTermDebt
105927000
CY2019Q3 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Four
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
105927000
CY2019Q3 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
11215000
CY2018Q3 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
11214000
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
27185000
us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
26541000
CY2019Q3 us-gaap Net Income Loss
NetIncomeLoss
4205000
us-gaap Net Income Loss
NetIncomeLoss
9620000
CY2018Q3 us-gaap Net Income Loss
NetIncomeLoss
5346000
us-gaap Net Income Loss
NetIncomeLoss
12699000
CY2019Q3 us-gaap Net Income Loss Attributable To Redeemable Noncontrolling Interest
NetIncomeLossAttributableToRedeemableNoncontrollingInterest
CY2018Q3 us-gaap Net Income Loss Attributable To Redeemable Noncontrolling Interest
NetIncomeLossAttributableToRedeemableNoncontrollingInterest
us-gaap Net Income Loss Attributable To Redeemable Noncontrolling Interest
NetIncomeLossAttributableToRedeemableNoncontrollingInterest
us-gaap Net Income Loss Attributable To Redeemable Noncontrolling Interest
NetIncomeLossAttributableToRedeemableNoncontrollingInterest
26000
CY2019Q3 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-1263000
CY2018Q3 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-930000
us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-3549000
us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-2580000
us-gaap Number Of Operating Segments
NumberOfOperatingSegments
2
CY2019Q3 us-gaap Operating Expenses
OperatingExpenses
18973000
CY2018Q3 us-gaap Operating Expenses
OperatingExpenses
16615000
us-gaap Operating Expenses
OperatingExpenses
55354000
us-gaap Operating Expenses
OperatingExpenses
49979000
CY2019Q3 us-gaap Operating Income Loss
OperatingIncomeLoss
8601000
CY2018Q3 us-gaap Operating Income Loss
OperatingIncomeLoss
7646000
us-gaap Operating Income Loss
OperatingIncomeLoss
19378000
us-gaap Operating Income Loss
OperatingIncomeLoss
19060000
CY2019Q3 us-gaap Operating Lease Cost
OperatingLeaseCost
609000
us-gaap Operating Lease Cost
OperatingLeaseCost
2506000
CY2019Q1 us-gaap Operating Lease Liability
OperatingLeaseLiability
3900000
CY2019Q3 us-gaap Operating Lease Liability
OperatingLeaseLiability
10557000
CY2019Q3 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
1450000
CY2018Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
CY2019Q3 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
9107000
CY2018Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
CY2019Q3 us-gaap Operating Lease Payments
OperatingLeasePayments
587000
us-gaap Operating Lease Payments
OperatingLeasePayments
2472000
CY2019Q1 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
3900000
CY2019Q3 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
11028000
CY2018Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
CY2019Q3 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.0527
CY2019Q1 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.0504
CY2019Q3 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P8Y160D
CY2019Q1 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P5Y226D
CY2019Q3 us-gaap Other Accrued Liabilities Noncurrent
OtherAccruedLiabilitiesNoncurrent
224000
CY2018Q4 us-gaap Other Accrued Liabilities Noncurrent
OtherAccruedLiabilitiesNoncurrent
250000
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
-149000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
781000
CY2018Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
207000
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax
-196000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax
1032000
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
47000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
-251000
CY2019Q3 us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
CY2018Q3 us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
-175000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
614000
CY2018Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
144000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
-112000
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
-231000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
812000
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
56000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
-198000
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-26000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-167000
CY2018Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-63000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-76000
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
-35000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
-220000
CY2019Q3 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
9000
us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
53000
CY2019Q3 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-149000
us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
781000
CY2018Q3 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
207000
us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-36000
CY2019Q3 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
47000
CY2018Q3 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
-59000
us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
-250000
us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
19000
CY2019Q3 us-gaap Other Long Term Debt Current
OtherLongTermDebtCurrent
CY2018Q4 us-gaap Other Long Term Debt Current
OtherLongTermDebtCurrent
18400000
us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
171000
CY2019Q3 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
CY2018Q3 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-16000
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
181000
CY2019Q3 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
4986000
CY2018Q3 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
4986000
us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
CY2019Q3 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
-2000
CY2018Q3 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
4000
us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
639000
us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
8000
CY2019Q3 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
20000
CY2018Q3 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
116000
us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
544000
us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
404000
CY2019Q3 us-gaap Payments To Acquire Additional Interest In Subsidiaries
PaymentsToAcquireAdditionalInterestInSubsidiaries
CY2018Q3 us-gaap Payments To Acquire Additional Interest In Subsidiaries
PaymentsToAcquireAdditionalInterestInSubsidiaries
us-gaap Payments To Acquire Additional Interest In Subsidiaries
PaymentsToAcquireAdditionalInterestInSubsidiaries
us-gaap Payments To Acquire Additional Interest In Subsidiaries
PaymentsToAcquireAdditionalInterestInSubsidiaries
1200000
CY2019Q3 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
CY2018Q3 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
28024000
us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
CY2019Q3 us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
1038000
CY2018Q3 us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
113000
us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
3566000
us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
114000
CY2019Q3 us-gaap Payments To Acquire Other Productive Assets
PaymentsToAcquireOtherProductiveAssets
CY2018Q3 us-gaap Payments To Acquire Other Productive Assets
PaymentsToAcquireOtherProductiveAssets
us-gaap Payments To Acquire Other Productive Assets
PaymentsToAcquireOtherProductiveAssets
us-gaap Payments To Acquire Other Productive Assets
PaymentsToAcquireOtherProductiveAssets
CY2019Q3 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
10308000
CY2018Q3 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
7003000
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
31157000
us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
19439000
CY2019Q3 us-gaap Preferred Stock No Par Value
PreferredStockNoParValue
0
CY2018Q4 us-gaap Preferred Stock No Par Value
PreferredStockNoParValue
0
CY2019Q3 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
1250000
CY2018Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
1250000
CY2019Q3 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2018Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2019Q3 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2018Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2019Q3 us-gaap Preferred Stock Value
PreferredStockValue
0
CY2018Q4 us-gaap Preferred Stock Value
PreferredStockValue
0
CY2019Q3 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
19717000
CY2018Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
15472000
CY2019Q3 us-gaap Prepaid Expense Current
PrepaidExpenseCurrent
95614000
CY2018Q4 us-gaap Prepaid Expense Current
PrepaidExpenseCurrent
87782000
CY2019Q3 us-gaap Prepaid Expense Other Noncurrent
PrepaidExpenseOtherNoncurrent
17477000
CY2018Q4 us-gaap Prepaid Expense Other Noncurrent
PrepaidExpenseOtherNoncurrent
18745000
CY2019Q3 us-gaap Proceeds From Notes Payable
ProceedsFromNotesPayable
5000000
CY2018Q3 us-gaap Proceeds From Notes Payable
ProceedsFromNotesPayable
us-gaap Proceeds From Notes Payable
ProceedsFromNotesPayable
45371000
us-gaap Proceeds From Notes Payable
ProceedsFromNotesPayable
2500000
CY2019Q3 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
118000
CY2018Q3 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
23000
us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
312000
us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
62000
CY2019Q3 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
72167000
CY2018Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
48065000
CY2019Q3 us-gaap Repayments Of Notes Payable
RepaymentsOfNotesPayable
-3000
CY2018Q3 us-gaap Repayments Of Notes Payable
RepaymentsOfNotesPayable
4387000
us-gaap Repayments Of Notes Payable
RepaymentsOfNotesPayable
4600000
us-gaap Repayments Of Notes Payable
RepaymentsOfNotesPayable
15212000
CY2019Q3 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
2876000
CY2018Q3 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
2207000
us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
8151000
us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
6657000
CY2019Q3 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
70430000
CY2018Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
60810000
CY2019Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
88129000
CY2018Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
83519000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
251199000
us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
260401000
CY2019Q3 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
466000
us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
2117000
CY2019Q3 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
8769000
CY2018Q3 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
8412000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
26366000
us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
24629000
CY2019Q3 us-gaap Share Based Compensation
ShareBasedCompensation
830000
CY2018Q3 us-gaap Share Based Compensation
ShareBasedCompensation
711000
us-gaap Share Based Compensation
ShareBasedCompensation
2040000
us-gaap Share Based Compensation
ShareBasedCompensation
1904000
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
368664
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
326887
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
39.43
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
29
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
12875
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
14937
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
7014
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
8635
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
22315
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
38860
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
36500
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
23800
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
180800
us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
163366
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
6447000
CY2019Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
774915
CY2018Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
734196
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
779266
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
733579
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
702337
CY2017Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
653571
CY2019Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
48.63
CY2018Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
42.39
CY2019Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
49.37
CY2018Q3 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
43.43
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
43.80
CY2017Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
36.69
CY2019Q3 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
15.60
CY2018Q3 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
8
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
18.65
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
9.49
CY2019Q3 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
44.98
CY2018Q3 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
46.45
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
CY2019Q3 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
60.87
CY2018Q3 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
59.20
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
58.59
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
50.46
CY2019Q3 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
54.41
CY2018Q3 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
57.78
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
60.56
us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
62.80
CY2019Q3 us-gaap Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Number Of Exercisable Options
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
368664
CY2019Q3 us-gaap Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Number Of Outstanding Options
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
779266
CY2019Q3 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
5995000
CY2019Q3 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Exercisable Options Weighted Average Exercise Price1
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
39.43
us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Exercisable Options Weighted Average Remaining Contractual Term2
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2
P3Y146D
CY2019Q3 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Outstanding Options Weighted Average Exercise Price Beginning Balance1
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
49.37
CY2019Q3 us-gaap Short Term Lease Cost
ShortTermLeaseCost
305000
us-gaap Short Term Lease Cost
ShortTermLeaseCost
708000
CY2019Q3 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
12260
CY2018Q3 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
15782
us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
66619
us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
44498
CY2019Q3 us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
830000
us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
2040000
CY2019Q3 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
118000
us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
312000
CY2019Q3 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
4986000
us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
4986000
CY2019Q2 us-gaap Stockholders Equity
StockholdersEquity
87001000
CY2019Q3 us-gaap Stockholders Equity
StockholdersEquity
86999000
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
79776000
CY2019Q3 us-gaap Straight Line Rent
StraightLineRent
CY2018Q3 us-gaap Straight Line Rent
StraightLineRent
5000
us-gaap Straight Line Rent
StraightLineRent
us-gaap Straight Line Rent
StraightLineRent
9000
CY2019Q3 us-gaap Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
120000
CY2018Q3 us-gaap Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
us-gaap Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
142000
us-gaap Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
CY2019Q3 us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
16000
CY2018Q3 us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
30000
us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
204000
us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
-13000
CY2019Q3 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
0
CY2018Q4 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
0
CY2019Q3 us-gaap Variable Lease Cost
VariableLeaseCost
156000
us-gaap Variable Lease Cost
VariableLeaseCost
520000
CY2019Q3 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10745834
CY2018Q3 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10794297
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10798099
us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10795668
CY2019Q3 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10626754
CY2018Q3 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10611579
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10639544
us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10599243

Files In Submission

Name View Source Status
0001437749-19-021778-index-headers.html Edgar Link pending
0001437749-19-021778-index.html Edgar Link pending
0001437749-19-021778.txt Edgar Link pending
0001437749-19-021778-xbrl.zip Edgar Link pending
ex_160902.htm Edgar Link pending
ex_160903.htm Edgar Link pending
ex_160904.htm Edgar Link pending
ex_160905.htm Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R64.htm Edgar Link pending
R65.htm Edgar Link pending
R66.htm Edgar Link pending
R67.htm Edgar Link pending
R68.htm Edgar Link pending
R69.htm Edgar Link pending
R7.htm Edgar Link pending
R70.htm Edgar Link pending
R71.htm Edgar Link pending
R72.htm Edgar Link pending
R73.htm Edgar Link pending
R74.htm Edgar Link pending
R75.htm Edgar Link pending
R76.htm Edgar Link pending
R77.htm Edgar Link pending
R78.htm Edgar Link pending
R79.htm Edgar Link pending
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending
tcx-20190930.xml Edgar Link completed
tcx-20190930.xsd Edgar Link pending
tcx-20190930_cal.xml Edgar Link unprocessable
tcx-20190930_def.xml Edgar Link unprocessable
tcx-20190930_lab.xml Edgar Link unprocessable
tcx-20190930_pre.xml Edgar Link unprocessable
tcx20190930_10q.htm Edgar Link pending