2021 Q4 Form 10-K Financial Statement

#000143774922004915 Filed on March 01, 2022

View on sec.gov

Income Statement

Concept 2021 Q4 2021 Q3 2021 Q2
Revenue $82.48M $75.89M $75.09M
YoY Change 16.52% 2.13% -8.56%
Cost Of Revenue $58.00M $57.87M $56.85M
YoY Change 8.7% 6.44% -3.89%
Gross Profit $24.58M $18.02M $18.24M
YoY Change 41.02% -9.61% -20.58%
Gross Profit Margin 29.8% 23.75% 24.29%
Selling, General & Admin $19.03M $14.96M $14.59M
YoY Change 46.95% 13.46% -0.66%
% of Gross Profit 77.43% 83.01% 79.97%
Research & Development $4.266M $3.742M $3.170M
YoY Change 23.65% 18.34% 3.36%
% of Gross Profit 17.36% 20.76% 17.38%
Depreciation & Amortization $8.012M $4.758M $4.211M
YoY Change 33.31% 52.99% 33.47%
% of Gross Profit 32.6% 26.4% 23.09%
Operating Expenses $25.96M $21.25M $20.27M
YoY Change 37.87% 14.06% -5.39%
Operating Profit -$1.384M -$3.224M -$2.034M
YoY Change -1.28% -345.73% -232.34%
Interest Expense -$1.509M -$1.082M -$1.066M
YoY Change 160.17% 80.33% 126.81%
% of Operating Profit
Other Income/Expense, Net -$96.00K $4.300M $3.722M
YoY Change -196.0% 1662.3% -499.79%
Pretax Income $1.274M $1.076M $1.688M
YoY Change -72.66% -30.85% 178.55%
Income Tax $3.241M -$300.0K -$100.0K
% Of Pretax Income 254.4% -27.88% -5.92%
Net Earnings -$1.967M $1.375M $1.807M
YoY Change -195.12% 92.04% 1050.96%
Net Earnings / Revenue -2.38% 1.81% 2.41%
Basic Earnings Per Share -$0.18 $0.13 $0.17
Diluted Earnings Per Share -$0.18 $0.13 $0.17
COMMON SHARES
Basic Shares Outstanding 10.70M 10.68M 10.63M
Diluted Shares Outstanding 10.82M 10.80M

Balance Sheet

Concept 2021 Q4 2021 Q3 2021 Q2
SHORT-TERM ASSETS
Cash & Short-Term Investments $9.105M $5.535M $7.258M
YoY Change 9.7% -45.74% -18.45%
Cash & Equivalents $9.105M $5.535M $7.258M
Short-Term Investments
Other Short-Term Assets $115.8M $113.7M $117.5M
YoY Change 1.39% 1.69% -4.48%
Inventory $3.277M $3.111M $2.836M
Prepaid Expenses
Receivables $14.58M $14.82M $14.81M
Other Receivables $3.474M $3.892M $4.041M
Total Short-Term Assets $147.0M $143.8M $146.4M
YoY Change 4.11% 3.28% 3.39%
LONG-TERM ASSETS
Property, Plant & Equipment $172.7M $155.2M $144.2M
YoY Change 46.91% 41.42% 42.35%
Goodwill $130.4M $116.3M $116.3M
YoY Change 12.12% 0.0% 0.0%
Intangibles $50.41M $40.41M $42.70M
YoY Change 6.25% -19.31% -19.03%
Long-Term Investments $2.012M $2.012M $2.012M
YoY Change
Other Assets $18.51M $18.46M $18.74M
YoY Change 3.96% 5.47% -0.84%
Total Long-Term Assets $392.6M $349.4M $337.1M
YoY Change 26.36% 14.3% 12.16%
TOTAL ASSETS
Total Short-Term Assets $147.0M $143.8M $146.4M
Total Long-Term Assets $392.6M $349.4M $337.1M
Total Assets $539.6M $493.2M $483.5M
YoY Change 19.41% 10.85% 9.35%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $10.02M $9.260M $7.430M
YoY Change 58.26% 8.28% 14.11%
Accrued Expenses $15.24M $12.18M $14.00M
YoY Change 48.9% 27.83% 41.23%
Deferred Revenue $124.1M $127.8M $130.1M
YoY Change -2.53% -0.6% 0.79%
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due
YoY Change
Total Short-Term Liabilities $173.7M $168.4M $170.7M
YoY Change 6.58% 2.24% 3.39%
LONG-TERM LIABILITIES
Long-Term Debt $190.7M $149.9M $139.9M
YoY Change 56.74% 31.87% 23.12%
Other Long-Term Liabilities $1.804M $3.703M $3.607M
YoY Change -47.19% 11.2% 11.19%
Total Long-Term Liabilities $1.804M $3.703M $3.607M
YoY Change -47.19% 11.2% 11.19%
TOTAL LIABILITIES
Total Short-Term Liabilities $173.7M $168.4M $170.7M
Total Long-Term Liabilities $1.804M $3.703M $3.607M
Total Liabilities $175.5M $172.1M $174.3M
YoY Change 5.47% 2.41% 3.54%
SHAREHOLDERS EQUITY
Retained Earnings $83.47M $85.44M $84.06M
YoY Change 4.2% 9.48% 8.72%
Common Stock $31.28M $28.07M $25.67M
YoY Change 40.54% 33.85% 31.91%
Preferred Stock
YoY Change
Treasury Stock (at cost)
YoY Change
Treasury Stock Shares
Shareholders Equity $115.1M $113.2M $110.8M
YoY Change
Total Liabilities & Shareholders Equity $539.6M $493.2M $483.5M
YoY Change 19.41% 10.85% 9.35%

Cashflow Statement

Concept 2021 Q4 2021 Q3 2021 Q2
OPERATING ACTIVITIES
Net Income -$1.967M $1.375M $1.807M
YoY Change -195.12% 92.04% 1050.96%
Depreciation, Depletion And Amortization $8.012M $4.758M $4.211M
YoY Change 33.31% 52.99% 33.47%
Cash From Operating Activities $10.54M $1.492M $3.518M
YoY Change 542.8% -86.95% -60.64%
INVESTING ACTIVITIES
Capital Expenditures -$23.08M $14.49M $21.66M
YoY Change 97.11% 36.22% 78.28%
Acquisitions
YoY Change
Other Investing Activities -$26.57M -$6.000K -$2.079M
YoY Change 2870.0%
Cash From Investing Activities -$49.65M -$14.49M -$23.74M
YoY Change 324.0% 36.27% 94.25%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net $0.00 $0.00
YoY Change -100.0%
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities 42.68M $11.28M $19.17M
YoY Change 418.57% 2155.8% -6343.0%
NET CHANGE
Cash From Operating Activities 10.54M $1.492M $3.518M
Cash From Investing Activities -49.65M -$14.49M -$23.74M
Cash From Financing Activities 42.68M $11.28M $19.17M
Net Change In Cash 3.570M -$1.723M -$1.052M
YoY Change -294.02% -232.95% -70.67%
FREE CASH FLOW
Cash From Operating Activities $10.54M $1.492M $3.518M
Capital Expenditures -$23.08M $14.49M $21.66M
Free Cash Flow $33.62M -$13.00M -$18.14M
YoY Change 151.87% -1732.66% 465.03%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2020Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2021Q4 us-gaap Common Stock No Par Value
CommonStockNoParValue
0
CY2020Q4 us-gaap Common Stock No Par Value
CommonStockNoParValue
0
CY2021 dei Auditor Location
AuditorLocation
Vaughan, Canada
CY2021Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
541000 USD
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
222000 USD
CY2021Q4 us-gaap Preferred Stock No Par Value
PreferredStockNoParValue
0
CY2020Q4 us-gaap Preferred Stock No Par Value
PreferredStockNoParValue
0
CY2021Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
1250000
CY2020Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
1250000
CY2021Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2020Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2021Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2021Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2021Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
10747417
CY2021Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
10747417
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
10612414
CY2020Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
10612414
CY2021Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
USD
CY2020Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
USD
CY2021 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
-595000 USD
CY2020 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
550000 USD
CY2019 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
411000 USD
CY2021 us-gaap Number Of Operating Segments
NumberOfOperatingSegments
3 pure
CY2020 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21 pure
CY2019 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21 pure
CY2021Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
50409000 USD
CY2020Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
47444000 USD
CY2021Q4 us-gaap Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
18205000 USD
CY2021Q4 us-gaap Goodwill
Goodwill
130410000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
116304000 USD
CY2021Q4 tcx Customer Deposit Liability Current
CustomerDepositLiabilityCurrent
16974000 USD
CY2021Q4 us-gaap Derivative Assets Current
DerivativeAssetsCurrent
299000 USD
CY2020Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
226000 USD
CY2020Q4 us-gaap Derivative Assets Current
DerivativeAssetsCurrent
3860000 USD
CY2021Q4 us-gaap Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
94506000 USD
CY2020Q4 us-gaap Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
93467000 USD
CY2021Q4 us-gaap Income Taxes Receivable
IncomeTaxesReceivable
3474000 USD
CY2020Q4 us-gaap Income Taxes Receivable
IncomeTaxesReceivable
1302000 USD
CY2021Q4 us-gaap Assets Current
AssetsCurrent
147004000 USD
CY2020Q4 us-gaap Assets Current
AssetsCurrent
141200000 USD
CY2021 us-gaap Gross Profit
GrossProfit
78293000 USD
CY2020 us-gaap Gross Profit
GrossProfit
85485000 USD
CY2020Q4 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
0 USD
CY2021Q4 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P1Y
CY2021Q4 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P1Y
CY2021Q4 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P1Y
CY2021Q4 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P1Y
CY2021Q4 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P1Y
CY2021Q4 us-gaap Revenue Remaining Performance Obligation Expected Timing Of Satisfaction Period1
RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
P1Y
CY2021Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P7Y8M26D
CY2020Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P8Y4M6D
CY2021 tcx Contractual Obligation Term
ContractualObligationTerm
P10Y
CY2021 us-gaap Number Of Operating Segments
NumberOfOperatingSegments
3 pure
CY2021Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
9105000 USD
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
8311000 USD
CY2021Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
14579000 USD
CY2020Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
15540000 USD
CY2021Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
778000 USD
CY2020Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
0 USD
CY2021Q4 us-gaap Inventory Net
InventoryNet
3277000 USD
CY2020Q4 us-gaap Inventory Net
InventoryNet
1875000 USD
CY2021Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
20986000 USD
CY2020Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
16845000 USD
CY2020Q4 us-gaap Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
17599000 USD
CY2021Q4 us-gaap Derivative Assets Noncurrent
DerivativeAssetsNoncurrent
278000 USD
CY2020Q4 us-gaap Derivative Assets Noncurrent
DerivativeAssetsNoncurrent
0 USD
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
172662000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
117530000 USD
CY2021Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
17515000 USD
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
11238000 USD
CY2021Q4 us-gaap Deferred Costs
DeferredCosts
1079000 USD
CY2020Q4 us-gaap Deferred Costs
DeferredCosts
362000 USD
CY2021Q4 us-gaap Long Term Investments
LongTermInvestments
2012000 USD
CY2020Q4 us-gaap Long Term Investments
LongTermInvestments
0 USD
CY2021Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
22000 USD
CY2021Q4 us-gaap Assets
Assets
539596000 USD
CY2020Q4 us-gaap Assets
Assets
451903000 USD
CY2021Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
10016000 USD
CY2020Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
6329000 USD
CY2021Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
15240000 USD
CY2020Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
10235000 USD
CY2020Q4 tcx Customer Deposit Liability Current
CustomerDepositLiabilityCurrent
15402000 USD
CY2021Q4 us-gaap Derivative Liabilities Current
DerivativeLiabilitiesCurrent
125000 USD
CY2020Q4 us-gaap Derivative Liabilities Current
DerivativeLiabilitiesCurrent
99000 USD
CY2021Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
3150000 USD
CY2021 us-gaap Cost Of Revenue
CostOfRevenue
226044000 USD
CY2020 us-gaap Cost Of Revenue
CostOfRevenue
225717000 USD
CY2019 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
337145000 USD
CY2021 us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
193039000 USD
CY2020 us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
200401000 USD
CY2019 us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
217579000 USD
CY2021 tcx Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
14769000 USD
CY2020 tcx Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
10194000 USD
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
1761000 USD
CY2021Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
124116000 USD
CY2020Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
127336000 USD
CY2021Q4 tcx Accreditation Fees Payable Current
AccreditationFeesPayableCurrent
882000 USD
CY2020Q4 tcx Accreditation Fees Payable Current
AccreditationFeesPayableCurrent
940000 USD
CY2021Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
102000 USD
CY2020Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
863000 USD
CY2021Q4 us-gaap Other Liabilities Current
OtherLiabilitiesCurrent
3078000 USD
CY2020Q4 us-gaap Other Liabilities Current
OtherLiabilitiesCurrent
0 USD
CY2021Q4 us-gaap Liabilities Current
LiabilitiesCurrent
173683000 USD
CY2020Q4 us-gaap Liabilities Current
LiabilitiesCurrent
162965000 USD
CY2021Q4 us-gaap Derivative Liabilities Noncurrent
DerivativeLiabilitiesNoncurrent
0 USD
CY2020Q4 us-gaap Derivative Liabilities Noncurrent
DerivativeLiabilitiesNoncurrent
114000 USD
CY2021Q4 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
23677000 USD
CY2020Q4 us-gaap Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
24909000 USD
CY2021Q4 us-gaap Other Accrued Liabilities Noncurrent
OtherAccruedLiabilitiesNoncurrent
170000 USD
CY2020Q4 us-gaap Other Accrued Liabilities Noncurrent
OtherAccruedLiabilitiesNoncurrent
195000 USD
CY2021Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
11853000 USD
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
9179000 USD
CY2021Q4 us-gaap Long Term Loans Payable
LongTermLoansPayable
190748000 USD
CY2020Q4 us-gaap Long Term Loans Payable
LongTermLoansPayable
121733000 USD
CY2021Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
1804000 USD
CY2020Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
3416000 USD
CY2021Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
22569000 USD
CY2020Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
24694000 USD
CY2021Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 USD
CY2020Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 USD
CY2021Q4 us-gaap Common Stock Value
CommonStockValue
28515000 USD
CY2020Q4 us-gaap Common Stock Value
CommonStockValue
20798000 USD
CY2021Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
2764000 USD
CY2020Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
1458000 USD
CY2021Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
83470000 USD
CY2020Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
80106000 USD
CY2021Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
343000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
2336000 USD
CY2021Q4 us-gaap Stockholders Equity
StockholdersEquity
115092000 USD
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
104698000 USD
CY2021Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
539596000 USD
CY2020Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
451903000 USD
CY2021 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
304337000 USD
CY2020 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
311202000 USD
CY2019 tcx Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
9190000 USD
CY2021 us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
17452000 USD
CY2020 us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
12144000 USD
CY2019 us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
8475000 USD
CY2021 us-gaap Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
583000 USD
CY2020 us-gaap Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
1340000 USD
CY2019 us-gaap Cost Of Revenue
CostOfRevenue
236368000 USD
CY2019 us-gaap Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
1124000 USD
CY2021 tcx Cost Of Revenue Property And Equipment Impairment
CostOfRevenuePropertyAndEquipmentImpairment
201000 USD
CY2020 tcx Cost Of Revenue Property And Equipment Impairment
CostOfRevenuePropertyAndEquipmentImpairment
1638000 USD
CY2019 tcx Cost Of Revenue Property And Equipment Impairment
CostOfRevenuePropertyAndEquipmentImpairment
0 USD
CY2019 us-gaap Gross Profit
GrossProfit
100777000 USD
CY2021 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
39471000 USD
CY2020 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
34274000 USD
CY2019 us-gaap Selling And Marketing Expense
SellingAndMarketingExpense
34270000 USD
CY2021 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
14310000 USD
CY2020 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
12427000 USD
CY2019 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
9717000 USD
CY2021 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
22370000 USD
CY2020 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
20268000 USD
CY2019 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
17880000 USD
CY2021 us-gaap Depreciation And Amortization
DepreciationAndAmortization
534000 USD
CY2020 us-gaap Depreciation And Amortization
DepreciationAndAmortization
488000 USD
CY2019 us-gaap Depreciation And Amortization
DepreciationAndAmortization
486000 USD
CY2021 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-234000 USD
CY2020 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
17000 USD
CY2019 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-73000 USD
CY2021 tcx Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
9424000 USD
CY2020 tcx Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
10080000 USD
CY2019 tcx Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
9209000 USD
CY2021 us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
0 USD
CY2020 us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
1431000 USD
CY2019 us-gaap Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
0 USD
CY2021 us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
277000 USD
CY2020 us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
383000 USD
CY2019 us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
198000 USD
CY2021 us-gaap Operating Expenses
OperatingExpenses
86066000 USD
CY2020 us-gaap Operating Expenses
OperatingExpenses
78568000 USD
CY2019 us-gaap Operating Expenses
OperatingExpenses
71437000 USD
CY2021 us-gaap Operating Income Loss
OperatingIncomeLoss
-7773000 USD
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
6917000 USD
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
29340000 USD
CY2021 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-4617000 USD
CY2020 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-3611000 USD
CY2019 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-4769000 USD
CY2021 us-gaap Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
20030000 USD
CY2020 us-gaap Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
7612000 USD
CY2019 us-gaap Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
0 USD
CY2021 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-370000 USD
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-158000 USD
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
0 USD
CY2021 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
15043000 USD
CY2020 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
3843000 USD
CY2019 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
-4769000 USD
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
7270000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
10760000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
24571000 USD
CY2021 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
3906000 USD
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
4985000 USD
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
9173000 USD
CY2021 us-gaap Net Income Loss
NetIncomeLoss
3364000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
5775000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
15398000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
572000 USD
CY2021 us-gaap Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
4592000 USD
CY2021 us-gaap Net Income Loss
NetIncomeLoss
3364000 USD
CY2021 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-1993000 USD
CY2021Q4 us-gaap Stockholders Equity
StockholdersEquity
115092000 USD
CY2021 us-gaap Net Income Loss
NetIncomeLoss
3364000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
5775000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
15398000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
1653000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
1101000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
2565000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-210000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-182000 USD
CY2021 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-1993000 USD
CY2020 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
1863000 USD
CY2019 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
1283000 USD
CY2021 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
1371000 USD
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
7638000 USD
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
16681000 USD
CY2021 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.32
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.55
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.45
CY2021 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10662337
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10590684
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10623799
CY2021 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.31
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.54
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.43
CY2021 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10817468
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10692281
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10772812
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
79776000 USD
CY2019 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
395000 USD
CY2019 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
548000 USD
CY2019 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
4986000 USD
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
2876000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
15398000 USD
CY2019 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
1283000 USD
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
94194000 USD
CY2020 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
985000 USD
CY2020 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
556000 USD
CY2020 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
3281000 USD
CY2020 us-gaap Stock Issued During Period Value Acquisitions
StockIssuedDuringPeriodValueAcquisitions
2000000 USD
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
3718000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
5775000 USD
CY2020 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
1863000 USD
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
104698000 USD
CY2021 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
4818000 USD
CY2021 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
387000 USD
CY2021 us-gaap Depreciation
Depreciation
17986000 USD
CY2020 us-gaap Depreciation
Depreciation
12632000 USD
CY2019 us-gaap Depreciation
Depreciation
8961000 USD
CY2021 us-gaap Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
201000 USD
CY2020 us-gaap Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
1638000 USD
CY2019 us-gaap Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
142000 USD
CY2021 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
300000 USD
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
281000 USD
CY2020 us-gaap Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
861000 USD
CY2019 us-gaap Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
634000 USD
CY2021 tcx Operating Lease Net
OperatingLeaseNet
2204000 USD
CY2020 tcx Operating Lease Net
OperatingLeaseNet
-205000 USD
CY2019 tcx Operating Lease Net
OperatingLeaseNet
32000 USD
CY2021 tcx Disposal Of Domain Names
DisposalOfDomainNames
1000 USD
CY2020 tcx Disposal Of Domain Names
DisposalOfDomainNames
17000 USD
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
3015000 USD
CY2021 us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
778000 USD
CY2020 us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
-0 USD
CY2019 us-gaap Increase Decrease In Contract With Customer Asset
IncreaseDecreaseInContractWithCustomerAsset
-0 USD
CY2021 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
787000 USD
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-945000 USD
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-318000 USD
CY2021 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
3974000 USD
CY2020 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
3459000 USD
CY2020 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
269000 USD
CY2019 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
297000 USD
CY2021 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
10007000 USD
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
11420000 USD
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
10333000 USD
CY2021 us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
-717000 USD
CY2020 us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
106000 USD
CY2019 us-gaap Capitalized Contract Cost Amortization
CapitalizedContractCostAmortization
-10000 USD
CY2021 us-gaap Accretion Expense
AccretionExpense
383000 USD
CY2020 us-gaap Accretion Expense
AccretionExpense
344000 USD
CY2019 us-gaap Accretion Expense
AccretionExpense
0 USD
CY2021 us-gaap Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
0 USD
CY2020 us-gaap Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
223000 USD
CY2019 us-gaap Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
0 USD
CY2021 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0 USD
CY2020 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
1431000 USD
CY2019 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0 USD
CY2021 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-1328000 USD
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-3939000 USD
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
1285000 USD
CY2021 us-gaap Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
1554000 USD
CY2019 tcx Disposal Of Domain Names
DisposalOfDomainNames
114000 USD
CY2021 us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
-606000 USD
CY2020 us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
500000 USD
CY2019 us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
313000 USD
CY2021 tcx Write Down Of Intangible Assets And Capitalized Contract Costs
WriteDownOfIntangibleAssetsAndCapitalizedContractCosts
0 USD
CY2020 tcx Write Down Of Intangible Assets And Capitalized Contract Costs
WriteDownOfIntangibleAssetsAndCapitalizedContractCosts
3513000 USD
CY2019 tcx Write Down Of Intangible Assets And Capitalized Contract Costs
WriteDownOfIntangibleAssetsAndCapitalizedContractCosts
0 USD
CY2021 us-gaap Share Based Compensation
ShareBasedCompensation
4592000 USD
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
3718000 USD
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
2876000 USD
CY2021 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-1586000 USD
CY2019 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
-2904000 USD
CY2021 us-gaap Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
1645000 USD
CY2020 us-gaap Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
1899000 USD
CY2019 us-gaap Increase Decrease In Deferred Charges
IncreaseDecreaseInDeferredCharges
-7678000 USD
CY2021 us-gaap Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
1394000 USD
CY2020 us-gaap Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
-908000 USD
CY2019 us-gaap Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
89000 USD
CY2021 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
4068000 USD
CY2020 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-902000 USD
CY2019 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-1221000 USD
CY2021 us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
4857000 USD
CY2020 us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
376000 USD
CY2019 us-gaap Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
2329000 USD
CY2021 tcx Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
645000 USD
CY2020 tcx Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
1493000 USD
CY2019 tcx Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
27000 USD
CY2021 us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
-4495000 USD
CY2020 us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
2942000 USD
CY2019 us-gaap Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
-6900000 USD
CY2021 tcx Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
-83000 USD
CY2020 tcx Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
-33000 USD
CY2019 tcx Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
-67000 USD
CY2021 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
29637000 USD
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
36081000 USD
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
40381000 USD
CY2021 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
4818000 USD
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
985000 USD
CY2019 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
395000 USD
CY2021 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
387000 USD
CY2020 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
556000 USD
CY2019 us-gaap Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
548000 USD
CY2021 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
-0 USD
CY2020 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
3281000 USD
CY2019 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
4986000 USD
CY2021 us-gaap Proceeds From Notes Payable
ProceedsFromNotesPayable
69000000 USD
CY2020 us-gaap Proceeds From Notes Payable
ProceedsFromNotesPayable
8000000 USD
CY2019 us-gaap Proceeds From Notes Payable
ProceedsFromNotesPayable
57371000 USD
CY2021 us-gaap Proceeds From Repayments Of Notes Payable
ProceedsFromRepaymentsOfNotesPayable
0 USD
CY2020 us-gaap Proceeds From Repayments Of Notes Payable
ProceedsFromRepaymentsOfNotesPayable
0 USD
CY2019 us-gaap Proceeds From Repayments Of Notes Payable
ProceedsFromRepaymentsOfNotesPayable
-8130000 USD
CY2021 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
296000 USD
CY2020 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
32000 USD
CY2019 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
641000 USD
CY2021 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
73135000 USD
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
5116000 USD
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
43461000 USD
CY2021 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
73175000 USD
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
44437000 USD
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
44070000 USD
CY2021 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
510000 USD
CY2020 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
0 USD
CY2019 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
0 USD
CY2021 us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
774000 USD
CY2020 us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
72000 USD
CY2019 us-gaap Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
3566000 USD
CY2021 us-gaap Payments To Acquire Investments
PaymentsToAcquireInvestments
2012000 USD
CY2020 us-gaap Payments To Acquire Investments
PaymentsToAcquireInvestments
-0 USD
CY2019 us-gaap Payments To Acquire Investments
PaymentsToAcquireInvestments
-0 USD
CY2021 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-101978000 USD
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-53279000 USD
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-76086000 USD
CY2020 us-gaap Stock Issued1
StockIssued1
2000000 USD
CY2019 us-gaap Stock Issued1
StockIssued1
0 USD
CY2021 us-gaap Liabilities Assumed1
LiabilitiesAssumed1
0 USD
CY2020 us-gaap Liabilities Assumed1
LiabilitiesAssumed1
3072000 USD
CY2019 us-gaap Liabilities Assumed1
LiabilitiesAssumed1
0 USD
CY2021 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
794000 USD
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-12082000 USD
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
7756000 USD
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
8311000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
20393000 USD
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
12637000 USD
CY2021Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
9105000 USD
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
8311000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
20393000 USD
CY2021 us-gaap Interest Paid Net
InterestPaidNet
4485000 USD
CY2020 us-gaap Interest Paid Net
InterestPaidNet
3573000 USD
CY2019 us-gaap Interest Paid Net
InterestPaidNet
4785000 USD
CY2021 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
8828000 USD
CY2020 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
8926000 USD
CY2019 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
7941000 USD
CY2021 us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
99000 USD
CY2020 us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
1129000 USD
CY2019 us-gaap Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
548000 USD
CY2021 us-gaap Stock Issued1
StockIssued1
0 USD
CY2021 us-gaap Use Of Estimates
UseOfEstimates
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 36pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 36pt;"><i>(b) Use of estimates</i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 36pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 36pt;">The preparation of the consolidated financial statements in accordance with U.S. GAAP requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. On an on-going basis, management evaluates its judgements and estimates, including those related to the allocation of MSE platform service consideration between multiple performance obligations, the recoverability of goodwill and intangible assets which requires judgement over qualitative indicators of impairment and loss contingencies. For acquired customer relationships, the Company estimates the fair value based on the income approach.  The income approach is a valuation technique that calculates the fair value of an intangible asset based on the present value of future cash flows expected to be generated over the remaining useful life of the asset.  This valuation involves significant subjectivity and estimation uncertainty, including assumptions related to future revenues attributable to acquired customer relationships, attrition rates and discount rates. Management bases its estimates on historical experience, available market information as applicable, and on various other assumptions that are believed to be reasonable under the circumstances at the time they are made. Under different assumptions or conditions, the actual results will differ, potentially materially, from those previously estimated. Many of the conditions impacting these assumptions and estimates are outside of the Company’s control.</p>
CY2021 us-gaap Concentration Risk Credit Risk
ConcentrationRiskCreditRisk
<p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 36pt;"/> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 36pt;"><i>(q) Concentration of credit risk</i></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 36pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt; text-align: justify; text-indent: 36pt;">Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash equivalents, accounts receivable, forward foreign exchange contracts and pay-fixed, receive-variable interest rate swap contracts. Cash equivalents consist of deposits with major commercial banks, the maturities of which are <em style="font: inherit;">three</em> months or less from the date of purchase. With respect to accounts receivable, the Company performs periodic credit evaluations of the financial condition of its customers and typically does <em style="font: inherit;">not</em> require collateral from them. The counterparty to any forward foreign exchange contracts is a major commercial bank which management believes does <em style="font: inherit;">not</em> represent a significant credit risk. Management assesses the need for allowances for potential credit losses by considering the credit risk of specific customers, historical trends and other information.</p>
CY2021Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
226741000 USD
CY2020Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
154341000 USD
CY2021Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
54079000 USD
CY2020Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
36811000 USD
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
172662000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
117530000 USD
CY2021 us-gaap Depreciation
Depreciation
17986000 USD
CY2020 us-gaap Depreciation
Depreciation
12632000 USD
CY2019 us-gaap Depreciation
Depreciation
8961000 USD
CY2021 tcx Property Plant And Equipment Fully Depreciated Writedown
PropertyPlantAndEquipmentFullyDepreciatedWritedown
200000 USD
CY2020 tcx Property Plant And Equipment Fully Depreciated Writedown
PropertyPlantAndEquipmentFullyDepreciatedWritedown
1600000 USD
CY2019 tcx Property Plant And Equipment Fully Depreciated Writedown
PropertyPlantAndEquipmentFullyDepreciatedWritedown
100000 USD
CY2019Q4 us-gaap Goodwill
Goodwill
109818000 USD
CY2020 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
6486000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
116304000 USD
CY2021 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
14106000 USD
CY2021Q4 us-gaap Goodwill
Goodwill
130410000 USD
CY2021Q4 us-gaap Goodwill
Goodwill
130400000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
116300000 USD
CY2021 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0 USD
CY2020 tcx Acquisition Of Nonexclusive Land Easement
AcquisitionOfNonexclusiveLandEasement
100000 USD
CY2019Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
57654000 USD
CY2020 tcx Disposal Of Domain Names
DisposalOfDomainNames
17000 USD
CY2020 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
1431000 USD
CY2020 tcx Finitelived Intangible Assets Other Period Increase Decrease
FinitelivedIntangibleAssetsOtherPeriodIncreaseDecrease
-223000 USD
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
11420000 USD
CY2020Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
47444000 USD
CY2020 tcx Write Down Of Intangible Assets
WriteDownOfIntangibleAssets
2581000 USD
CY2020 tcx Acquisition Of Network Rights
AcquisitionOfNetworkRights
72000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
595000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax
-2588000 USD
CY2021 tcx Disposal Of Domain Names
DisposalOfDomainNames
1000 USD
CY2021 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
10007000 USD
CY2021Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
50409000 USD
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
11340000 USD
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
10567000 USD
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
5144000 USD
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
4603000 USD
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
3066000 USD
CY2021Q4 us-gaap Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
3398000 USD
CY2021Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
38118000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
3038000 USD
CY2020Q4 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
-702000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
2336000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
794000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
-222000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
572000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
3382000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
-817000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
2565000 USD
CY2021 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
-1993000 USD
CY2021Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
450000 USD
CY2021Q4 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
-107000 USD
CY2021Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
343000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
625000 USD
CY2019Q4 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
-152000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
473000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
2142000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
-489000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
1653000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
-271000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
61000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-210000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax
2413000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
-550000 USD
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
1863000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
3038000 USD
CY2020Q4 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
-702000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
2336000 USD
CY2018Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
-1069000 USD
CY2018Q4 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
259000 USD
CY2018Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-810000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
1454000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
-353000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
1101000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
-240000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
58000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
-182000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationBeforeTax
1694000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
-411000 USD
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
1283000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
625000 USD
CY2019Q4 tcx Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
-152000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
473000 USD
CY2021Q4 us-gaap Debt Instrument Unamortized Discount
DebtInstrumentUnamortizedDiscount
652000 USD
CY2020Q4 us-gaap Debt Instrument Unamortized Discount
DebtInstrumentUnamortizedDiscount
667000 USD
CY2021Q4 us-gaap Loans Payable
LoansPayable
190748000 USD
CY2020Q4 us-gaap Loans Payable
LoansPayable
121733000 USD
CY2021Q4 us-gaap Loans Payable Current
LoansPayableCurrent
-0 USD
CY2020Q4 us-gaap Loans Payable Current
LoansPayableCurrent
-0 USD
CY2021Q4 us-gaap Long Term Loans Payable
LongTermLoansPayable
190748000 USD
CY2020Q4 us-gaap Long Term Loans Payable
LongTermLoansPayable
121733000 USD
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
0 USD
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
191400000 USD
CY2021Q4 us-gaap Long Term Debt
LongTermDebt
191400000 USD
CY2021 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21 pure
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
7270000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
10760000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
24571000 USD
CY2021 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
1527000 USD
CY2020 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
2259000 USD
CY2019 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
5160000 USD
CY2021 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
314000 USD
CY2020 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
303000 USD
CY2019 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
526000 USD
CY2021 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
382000 USD
CY2020 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
-175000 USD
CY2019 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
-444000 USD
CY2021 tcx Effective Income Tax Rate Reconciliation Change In Valuation Allowance On Pre2017 Foreign Tax Credits Amount
EffectiveIncomeTaxRateReconciliationChangeInValuationAllowanceOnPre2017ForeignTaxCreditsAmount
2300000 USD
CY2020 tcx Effective Income Tax Rate Reconciliation Change In Valuation Allowance On Pre2017 Foreign Tax Credits Amount
EffectiveIncomeTaxRateReconciliationChangeInValuationAllowanceOnPre2017ForeignTaxCreditsAmount
1867000 USD
CY2019 tcx Effective Income Tax Rate Reconciliation Change In Valuation Allowance On Pre2017 Foreign Tax Credits Amount
EffectiveIncomeTaxRateReconciliationChangeInValuationAllowanceOnPre2017ForeignTaxCreditsAmount
5277000 USD
CY2021 tcx Effective Income Tax Rate Reconciliation Expired Business Tax Credits Amount
EffectiveIncomeTaxRateReconciliationExpiredBusinessTaxCreditsAmount
0 USD
CY2020 tcx Effective Income Tax Rate Reconciliation Expired Business Tax Credits Amount
EffectiveIncomeTaxRateReconciliationExpiredBusinessTaxCreditsAmount
1044000 USD
CY2019 tcx Effective Income Tax Rate Reconciliation Expired Business Tax Credits Amount
EffectiveIncomeTaxRateReconciliationExpiredBusinessTaxCreditsAmount
0 USD
CY2021 tcx Effective Income Tax Rate Reconciliation Sharebased Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount
-1556000 USD
CY2020 tcx Effective Income Tax Rate Reconciliation Sharebased Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount
-407000 USD
CY2019 tcx Effective Income Tax Rate Reconciliation Sharebased Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitAmount
-634000 USD
CY2021 us-gaap Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
205000 USD
CY2020 us-gaap Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
-161000 USD
CY2019 us-gaap Income Tax Reconciliation Nondeductible Expense
IncomeTaxReconciliationNondeductibleExpense
16000 USD
CY2021 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
734000 USD
CY2020 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
255000 USD
CY2019 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
-728000 USD
CY2021 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
3906000 USD
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
4985000 USD
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
9173000 USD
CY2021 tcx Income Tax Expense Benefit Continuing Operations Valuation Allowance On Foreign Tax Credits And Net Operating Losses
IncomeTaxExpenseBenefitContinuingOperationsValuationAllowanceOnForeignTaxCreditsAndNetOperatingLosses
2300000 USD
CY2020 tcx Income Tax Expense Benefit Continuing Operations Valuation Allowance On Foreign Tax Credits And Net Operating Losses
IncomeTaxExpenseBenefitContinuingOperationsValuationAllowanceOnForeignTaxCreditsAndNetOperatingLosses
2900000 USD
CY2019Q4 tcx Net Operating Loss
NetOperatingLoss
300000 USD
CY2019 tcx Income Tax Expense Benefit Continuing Operations Valuation Allowance On Foreign Tax Credits And Net Operating Losses
IncomeTaxExpenseBenefitContinuingOperationsValuationAllowanceOnForeignTaxCreditsAndNetOperatingLosses
5300000 USD
CY2021Q4 tcx Deferred Tax Assets Tax Credit Carryforwards Foreign And General Business
DeferredTaxAssetsTaxCreditCarryforwardsForeignAndGeneralBusiness
13531000 USD
CY2020Q4 tcx Deferred Tax Assets Tax Credit Carryforwards Foreign And General Business
DeferredTaxAssetsTaxCreditCarryforwardsForeignAndGeneralBusiness
11203000 USD
CY2021Q4 us-gaap Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
5694000 USD
CY2020Q4 us-gaap Deferred Tax Assets Deferred Income
DeferredTaxAssetsDeferredIncome
5739000 USD
CY2021Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
537000 USD
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
1452000 USD
CY2021Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
2991000 USD
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
792000 USD
CY2021Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
22753000 USD
CY2020Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
19186000 USD
CY2021Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
13531000 USD
CY2020Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
11232000 USD
CY2021Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
9222000 USD
CY2020Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
7954000 USD
CY2021Q4 us-gaap Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
18165000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
16909000 USD
CY2021Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
6578000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
7083000 USD
CY2021Q4 us-gaap Deferred Tax Liabilities Other Finite Lived Assets
DeferredTaxLiabilitiesOtherFiniteLivedAssets
3229000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Other Finite Lived Assets
DeferredTaxLiabilitiesOtherFiniteLivedAssets
4327000 USD
CY2021Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
2969000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
2847000 USD
CY2021Q4 tcx Deferred Tax Liabilities Foreign Branch
DeferredTaxLiabilitiesForeignBranch
828000 USD
CY2020Q4 tcx Deferred Tax Liabilities Foreign Branch
DeferredTaxLiabilitiesForeignBranch
1256000 USD
CY2021Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
31769000 USD
CY2020Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
32422000 USD
CY2021Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
22547000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
24468000 USD
CY2021Q4 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
0 USD
CY2021Q1 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
152200000 USD
CY2020Q4 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
152245000 USD
CY2021 tcx Contract With Customer Liability Additions
ContractWithCustomerLiabilityAdditions
245101000 USD
CY2021 us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
-249553000 USD
CY2021Q4 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
147793000 USD
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
121773000 USD
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
10678000 USD
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
5056000 USD
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
3090000 USD
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
1908000 USD
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
2945000 USD
CY2021Q4 us-gaap Revenue Remaining Performance Obligation
RevenueRemainingPerformanceObligation
145450000 USD
CY2021Q4 us-gaap Lessee Operating Lease Renewal Term
LesseeOperatingLeaseRenewalTerm
P5Y
CY2021 tcx Lessee Operating Lease Option To Terminate Term
LesseeOperatingLeaseOptionToTerminateTerm
P1Y
CY2021 us-gaap Operating Lease Cost
OperatingLeaseCost
2840000 USD
CY2020 us-gaap Operating Lease Cost
OperatingLeaseCost
2195000 USD
CY2021 us-gaap Short Term Lease Cost
ShortTermLeaseCost
117000 USD
CY2020 us-gaap Short Term Lease Cost
ShortTermLeaseCost
501000 USD
CY2021 us-gaap Variable Lease Cost
VariableLeaseCost
763000 USD
CY2020 us-gaap Variable Lease Cost
VariableLeaseCost
589000 USD
CY2021 us-gaap Lease Cost
LeaseCost
3720000 USD
CY2020 us-gaap Lease Cost
LeaseCost
3285000 USD
CY2021 us-gaap Operating Lease Payments
OperatingLeasePayments
5120000 USD
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
2332000 USD
CY2021 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
2468000 USD
CY2020 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
1952000 USD
CY2021 tcx Increase Decrease In Operating Lease Rightofuse Asset
IncreaseDecreaseInOperatingLeaseRightofuseAsset
9032000 USD
CY2020 tcx Increase Decrease In Operating Lease Rightofuse Asset
IncreaseDecreaseInOperatingLeaseRightofuseAsset
2798000 USD
CY2021Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.0309 pure
CY2020Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.0360 pure
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
3514000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
3508000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
2567000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
1737000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
1174000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
4186000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
16686000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
1683000 USD
CY2021Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
15003000 USD
CY2021Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2021Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
10747417
CY2020Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
10612414
CY2021 us-gaap Stock Repurchased And Retired During Period Shares
StockRepurchasedAndRetiredDuringPeriodShares
0
CY2020 us-gaap Stock Repurchased And Retired During Period Shares
StockRepurchasedAndRetiredDuringPeriodShares
70238
CY2019 us-gaap Stock Repurchased And Retired During Period Shares
StockRepurchasedAndRetiredDuringPeriodShares
101816
CY2021 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
0 USD
CY2020 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
3281000 USD
CY2019 us-gaap Stock Repurchased And Retired During Period Value
StockRepurchasedAndRetiredDuringPeriodValue
4986000 USD
CY2021 tcx Stock Repurchased And Retired During Period Average Price Per Share
StockRepurchasedAndRetiredDuringPeriodAveragePricePerShare
0
CY2020 tcx Stock Repurchased And Retired During Period Average Price Per Share
StockRepurchasedAndRetiredDuringPeriodAveragePricePerShare
46.70
CY2019 tcx Stock Repurchased And Retired During Period Average Price Per Share
StockRepurchasedAndRetiredDuringPeriodAveragePricePerShare
48.97
CY2021 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
45824
CY2020 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
48013
CY2019 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
21332
CY2021 tcx Shares Received In Connection With Share Based Compensation Value
SharesReceivedInConnectionWithShareBasedCompensationValue
3669000 USD
CY2020 tcx Shares Received In Connection With Share Based Compensation Value
SharesReceivedInConnectionWithShareBasedCompensationValue
2957000 USD
CY2019 tcx Shares Received In Connection With Share Based Compensation Value
SharesReceivedInConnectionWithShareBasedCompensationValue
1510000 USD
CY2021 tcx Shares Received In Connection With Sharebased Compensation Price Per Share
SharesReceivedInConnectionWithSharebasedCompensationPricePerShare
80.07
CY2020 tcx Shares Received In Connection With Sharebased Compensation Price Per Share
SharesReceivedInConnectionWithSharebasedCompensationPricePerShare
61.58
CY2019 tcx Shares Received In Connection With Sharebased Compensation Price Per Share
SharesReceivedInConnectionWithSharebasedCompensationPricePerShare
70.77
CY2021 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.357 pure
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.390 pure
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.365 pure
CY2021 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.008 pure
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.018 pure
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.020 pure
CY2021 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P4Y7M6D
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P4Y6M14D
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P4Y6M
CY2021 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.000 pure
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.000 pure
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.000 pure
CY2021 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
24.83
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
19.98
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Weighted Average Grant Date Fair Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
20.20
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
845020
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
55.31
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
754497
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
49.94
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
702337
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
43.80
CY2021 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
282625
CY2021 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
79.30
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
239325
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
61.21
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
180800
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
60.56
CY2021 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
179321
CY2021 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
45.04
CY2020 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
113132
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
30.53
CY2019 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
80319
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
16.90
CY2021 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
41240
CY2021 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
65.72
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
26468
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
60.29
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
31986
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
59.35
CY2021 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
2933
CY2021 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
60.70
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
9202
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
58.96
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
16335
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
47.51
CY2021Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
904151
CY2021Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
64.36
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
845020
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
55.31
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
754497
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
49.94
CY2021Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
415925
CY2021Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
56.44
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
401345
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
49.21
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
356066
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
40.64
CY2021Q4 us-gaap Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Number Of Outstanding Options
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
904151
CY2021Q4 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Outstanding Options Weighted Average Exercise Price Beginning Balance1
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
64.36
CY2021 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Outstanding Options Weighted Average Remaining Contractual Term2
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
P4Y6M
CY2021Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
17596000 USD
CY2021Q4 us-gaap Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Number Of Exercisable Options
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
415925
CY2021Q4 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Exercisable Options Weighted Average Exercise Price1
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
56.44
CY2021 us-gaap Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Exercisable Options Weighted Average Remaining Contractual Term2
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2
P3Y1M6D
CY2021Q4 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
11388000 USD
CY2021 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
6400000 USD
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
3700000 USD
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
3900000 USD
CY2021 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
4800000 USD
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
1000000.0 USD
CY2019 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
400000 USD
CY2021 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
4600000 USD
CY2020 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
3700000 USD
CY2019 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
2900000 USD
CY2021 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
4592000 USD
CY2020 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
3718000 USD
CY2019 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
2876000 USD
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10623799
CY2021 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
155132
CY2020 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
101597
CY2019 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
149013
CY2021 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10817468
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10692281
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
10772812
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
3514000 USD
CY2021 us-gaap Net Income Loss
NetIncomeLoss
3364000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
5775000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
15398000 USD
CY2021 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10662337
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10590684
CY2021 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.32
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.55
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.45
CY2021 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.31
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.54
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.43
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
0 USD
CY2021Q4 tcx Capital Purchase Obligation To Be Paid Year One
CapitalPurchaseObligationToBePaidYearOne
21484000 USD
CY2021Q4 us-gaap Purchase Obligation Due In Next Twelve Months
PurchaseObligationDueInNextTwelveMonths
12869000 USD
CY2021Q4 us-gaap Contractual Obligation Due In Next Twelve Months
ContractualObligationDueInNextTwelveMonths
37867000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
3508000 USD
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
191400000 USD
CY2021Q4 tcx Capital Purchase Obligation To Be Paid Year Two
CapitalPurchaseObligationToBePaidYearTwo
0 USD
CY2021Q4 us-gaap Purchase Obligation Due In Second Year
PurchaseObligationDueInSecondYear
15802000 USD
CY2021Q4 us-gaap Contractual Obligation Due In Second Year
ContractualObligationDueInSecondYear
210710000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
2567000 USD
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Three
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree
0 USD
CY2021Q4 tcx Capital Purchase Obligation To Be Paid Year Three
CapitalPurchaseObligationToBePaidYearThree
0 USD
CY2021Q4 us-gaap Purchase Obligation Due In Third Year
PurchaseObligationDueInThirdYear
19736000 USD
CY2021Q4 us-gaap Contractual Obligation Due In Third Year
ContractualObligationDueInThirdYear
22303000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
1737000 USD
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Four
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour
0 USD
CY2021Q4 tcx Capital Purchase Obligation To Be Paid Year Four
CapitalPurchaseObligationToBePaidYearFour
0 USD
CY2021Q4 us-gaap Purchase Obligation Due In Fourth Year
PurchaseObligationDueInFourthYear
3299000 USD
CY2021Q4 us-gaap Contractual Obligation Due In Fourth Year
ContractualObligationDueInFourthYear
5036000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
1174000 USD
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal In Year Five
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive
0 USD
CY2021Q4 tcx Capital Purchase Obligation To Be Paid Year Five
CapitalPurchaseObligationToBePaidYearFive
0 USD
CY2021Q4 us-gaap Purchase Obligation Due In Fifth Year
PurchaseObligationDueInFifthYear
495000 USD
CY2021Q4 us-gaap Contractual Obligation Due In Fifth Year
ContractualObligationDueInFifthYear
1669000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
4186000 USD
CY2021Q4 us-gaap Long Term Debt Maturities Repayments Of Principal After Year Five
LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive
0 USD
CY2021Q4 tcx Capital Purchase Obligation To Be Paid After Year Five
CapitalPurchaseObligationToBePaidAfterYearFive
0 USD
CY2021Q4 us-gaap Purchase Obligation Due After Fifth Year
PurchaseObligationDueAfterFifthYear
3232000 USD
CY2021Q4 us-gaap Contractual Obligation Due After Fifth Year
ContractualObligationDueAfterFifthYear
7418000 USD
CY2021Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
16686000 USD
CY2021Q4 us-gaap Long Term Debt
LongTermDebt
191400000 USD
CY2021Q4 tcx Capital Purchase Obligation
CapitalPurchaseObligation
21484000 USD
CY2021Q4 us-gaap Purchase Obligation
PurchaseObligation
55433000 USD
CY2021Q4 us-gaap Contractual Obligation
ContractualObligation
285003000 USD
CY2021Q4 us-gaap Purchase Commitment Remaining Minimum Amount Committed
PurchaseCommitmentRemainingMinimumAmountCommitted
45200000 USD
CY2021 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
304337000 USD
CY2021 us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
193039000 USD
CY2021 tcx Segment Gross Margin
SegmentGrossMargin
111298000 USD
CY2021 tcx Adjusted Ebitda
AdjustedEBITDA
48821000 USD
CY2020 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
311202000 USD
CY2020 us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
200401000 USD
CY2020 tcx Segment Gross Margin
SegmentGrossMargin
110801000 USD
CY2020 tcx Adjusted Ebitda
AdjustedEBITDA
50972000 USD
CY2019 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
337145000 USD
CY2019 us-gaap Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
217579000 USD
CY2019 tcx Segment Gross Margin
SegmentGrossMargin
119566000 USD
CY2019 tcx Adjusted Ebitda
AdjustedEBITDA
51905000 USD
CY2021 tcx Adjusted Ebitda
AdjustedEBITDA
48821000 USD
CY2020 tcx Adjusted Ebitda
AdjustedEBITDA
50972000 USD
CY2019 tcx Adjusted Ebitda
AdjustedEBITDA
51905000 USD
CY2021 us-gaap Depreciation
Depreciation
17986000 USD
CY2020 us-gaap Depreciation
Depreciation
12632000 USD
CY2019 us-gaap Depreciation
Depreciation
8961000 USD
CY2021 tcx Tangible Asset Impairment Charges Including Loss On Disposition Of Assets
TangibleAssetImpairmentChargesIncludingLossOnDispositionOfAssets
435000 USD
CY2020 tcx Tangible Asset Impairment Charges Including Loss On Disposition Of Assets
TangibleAssetImpairmentChargesIncludingLossOnDispositionOfAssets
1621000 USD
CY2019 tcx Tangible Asset Impairment Charges Including Loss On Disposition Of Assets
TangibleAssetImpairmentChargesIncludingLossOnDispositionOfAssets
73000 USD
CY2021 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
10007000 USD
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
11420000 USD
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
10333000 USD
CY2021 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0 USD
CY2020 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
1431000 USD
CY2019 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
0 USD
CY2021 tcx Write Down Of Intangible Assets And Capitalized Contract Costs
WriteDownOfIntangibleAssetsAndCapitalizedContractCosts
0 USD
CY2020 tcx Write Down Of Intangible Assets And Capitalized Contract Costs
WriteDownOfIntangibleAssetsAndCapitalizedContractCosts
3513000 USD
CY2019 tcx Write Down Of Intangible Assets And Capitalized Contract Costs
WriteDownOfIntangibleAssetsAndCapitalizedContractCosts
0 USD
CY2021 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-4617000 USD
CY2020 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-3611000 USD
CY2019 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-4769000 USD
CY2021 us-gaap Accretion Expense
AccretionExpense
383000 USD
CY2020 us-gaap Accretion Expense
AccretionExpense
344000 USD
CY2019 us-gaap Accretion Expense
AccretionExpense
0 USD
CY2021 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
4592000 USD
CY2020 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
3718000 USD
CY2019 us-gaap Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
2876000 USD
CY2021 us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
-606000 USD
CY2020 us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
500000 USD
CY2019 us-gaap Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
313000 USD
CY2021 us-gaap Foreign Currency Transaction Gain Loss Unrealized
ForeignCurrencyTransactionGainLossUnrealized
-219000 USD
CY2020 us-gaap Foreign Currency Transaction Gain Loss Unrealized
ForeignCurrencyTransactionGainLossUnrealized
-461000 USD
CY2019 us-gaap Foreign Currency Transaction Gain Loss Unrealized
ForeignCurrencyTransactionGainLossUnrealized
581000 USD
CY2021 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
2706000 USD
CY2020 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
1961000 USD
CY2019 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
1216000 USD
CY2021 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
7270000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
10760000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
24571000 USD
CY2021 us-gaap Cost Of Revenue
CostOfRevenue
226044000 USD
CY2020 us-gaap Cost Of Revenue
CostOfRevenue
225717000 USD
CY2019 us-gaap Cost Of Revenue
CostOfRevenue
236368000 USD
CY2021Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
172662000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
117530000 USD
CY2021Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
38118000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
35152000 USD
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
222000 USD
CY2021 tcx Allowance For Doubtful Accounts Charged To Recovered Costs And Expenses
AllowanceForDoubtfulAccountsChargedToRecoveredCostsAndExpenses
319000 USD
CY2021 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
0 USD
CY2021Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
541000 USD
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
131000 USD
CY2020 tcx Allowance For Doubtful Accounts Charged To Recovered Costs And Expenses
AllowanceForDoubtfulAccountsChargedToRecoveredCostsAndExpenses
91000 USD
CY2020 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
0 USD
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
222000 USD
CY2021Q4 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
82476000 USD
CY2021Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
75893000 USD
CY2021Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
75093000 USD
CY2021Q1 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
70875000 USD
CY2021Q4 us-gaap Gross Profit
GrossProfit
24577000 USD
CY2021Q3 us-gaap Gross Profit
GrossProfit
18024000 USD
CY2021Q2 us-gaap Gross Profit
GrossProfit
18239000 USD
CY2021Q1 us-gaap Gross Profit
GrossProfit
17453000 USD
CY2021Q4 us-gaap Net Income Loss
NetIncomeLoss
-1967000 USD
CY2021Q3 us-gaap Net Income Loss
NetIncomeLoss
1375000 USD
CY2021Q2 us-gaap Net Income Loss
NetIncomeLoss
1807000 USD
CY2021Q1 us-gaap Net Income Loss
NetIncomeLoss
2149000 USD
CY2021Q4 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
-0.18
CY2021Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.13
CY2021Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.17
CY2021Q1 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.20
CY2021Q4 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
-0.18
CY2021Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.13
CY2021Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.17
CY2021Q1 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.20
CY2020Q4 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
70784000 USD
CY2020Q3 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
74311000 USD
CY2020Q2 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
82122000 USD
CY2020Q1 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
83985000 USD
CY2020Q4 us-gaap Gross Profit
GrossProfit
17428000 USD
CY2020Q3 us-gaap Gross Profit
GrossProfit
19941000 USD
CY2020Q2 us-gaap Gross Profit
GrossProfit
22966000 USD
CY2020Q1 us-gaap Gross Profit
GrossProfit
25150000 USD
CY2020Q4 us-gaap Net Income Loss
NetIncomeLoss
2068000 USD
CY2020Q3 us-gaap Net Income Loss
NetIncomeLoss
716000 USD
CY2020Q2 us-gaap Net Income Loss
NetIncomeLoss
157000 USD
CY2020Q1 us-gaap Net Income Loss
NetIncomeLoss
2834000 USD
CY2020Q4 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.19
CY2020Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.07
CY2020Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.01
CY2020Q1 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.27
CY2020Q4 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.19
CY2020Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.07
CY2020Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.01
CY2020Q1 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.26

Files In Submission

Name View Source Status
0001437749-22-004915-index-headers.html Edgar Link pending
0001437749-22-004915-index.html Edgar Link pending
0001437749-22-004915.txt Edgar Link pending
0001437749-22-004915-xbrl.zip Edgar Link pending
a2.jpg Edgar Link pending
a3.jpg Edgar Link pending
ex_310880.htm Edgar Link pending
ex_310881.htm Edgar Link pending
ex_310882.htm Edgar Link pending
ex_310883.htm Edgar Link pending
ex_310884.htm Edgar Link pending
ex_310885.htm Edgar Link pending
ex_310886.htm Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
MetaLinks.json Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R100.htm Edgar Link pending
R101.htm Edgar Link pending
R102.htm Edgar Link pending
R103.htm Edgar Link pending
R104.htm Edgar Link pending
R105.htm Edgar Link pending
R106.htm Edgar Link pending
R107.htm Edgar Link pending
R108.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
R80.htm Edgar Link pending
R81.htm Edgar Link pending
R82.htm Edgar Link pending
R83.htm Edgar Link pending
R84.htm Edgar Link pending
R85.htm Edgar Link pending
R86.htm Edgar Link pending
R87.htm Edgar Link pending
R88.htm Edgar Link pending
R89.htm Edgar Link pending
R9.htm Edgar Link pending
R90.htm Edgar Link pending
R91.htm Edgar Link pending
R92.htm Edgar Link pending
R93.htm Edgar Link pending
R94.htm Edgar Link pending
R95.htm Edgar Link pending
R96.htm Edgar Link pending
R97.htm Edgar Link pending
R98.htm Edgar Link pending
R99.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending
tcx-20211231.xsd Edgar Link pending
tcx-20211231_cal.xml Edgar Link unprocessable
tcx-20211231_def.xml Edgar Link unprocessable
tcx-20211231_lab.xml Edgar Link unprocessable
tcx-20211231_pre.xml Edgar Link unprocessable
tcx2021.jpg Edgar Link pending
tcx20211231_10k.htm Edgar Link pending
tcx20211231_10k_htm.xml Edgar Link completed