2021 Q2 Form 10-Q Financial Statement
#000143774921018790 Filed on August 05, 2021
Income Statement
Concept | 2021 Q2 | 2021 Q1 | 2020 Q2 |
---|---|---|---|
Revenue | $75.09M | $70.88M | $82.12M |
YoY Change | -8.56% | -15.61% | -2.37% |
Cost Of Revenue | $56.85M | $53.42M | $59.16M |
YoY Change | -3.89% | -9.2% | -0.76% |
Gross Profit | $18.24M | $17.45M | $22.97M |
YoY Change | -20.58% | -30.6% | -6.29% |
Gross Profit Margin | 24.29% | 24.63% | 27.97% |
Selling, General & Admin | $14.59M | $13.26M | $14.68M |
YoY Change | -0.66% | -3.37% | 7.55% |
% of Gross Profit | 79.97% | 76.0% | 63.93% |
Research & Development | $3.170M | $3.132M | $3.067M |
YoY Change | 3.36% | 13.85% | 11.45% |
% of Gross Profit | 17.38% | 17.95% | 13.35% |
Depreciation & Amortization | $4.211M | $3.759M | $3.155M |
YoY Change | 33.47% | 25.72% | 45.26% |
% of Gross Profit | 23.09% | 21.54% | 13.74% |
Operating Expenses | $20.27M | $18.58M | $21.43M |
YoY Change | -5.39% | -6.98% | 14.24% |
Operating Profit | -$2.034M | -$1.131M | $1.537M |
YoY Change | -232.34% | -121.87% | -73.26% |
Interest Expense | -$1.066M | -$690.0K | -$470.0K |
YoY Change | 126.81% | -56.6% | -63.28% |
% of Operating Profit | -30.58% | ||
Other Income/Expense, Net | $3.722M | $4.363M | -$931.0K |
YoY Change | -499.79% | -452.71% | -29.15% |
Pretax Income | $1.688M | $3.232M | $606.0K |
YoY Change | 178.55% | -17.87% | -86.34% |
Income Tax | -$100.0K | $1.100M | $400.0K |
% Of Pretax Income | -5.92% | 34.03% | 66.01% |
Net Earnings | $1.807M | $2.149M | $157.0K |
YoY Change | 1050.96% | -24.17% | -94.0% |
Net Earnings / Revenue | 2.41% | 3.03% | 0.19% |
Basic Earnings Per Share | $0.17 | $0.20 | $0.01 |
Diluted Earnings Per Share | $0.17 | $0.20 | $0.01 |
COMMON SHARES | |||
Basic Shares Outstanding | 10.63M | 10.62M | 10.57M |
Diluted Shares Outstanding | 10.80M | 10.80M | 10.65M |
Balance Sheet
Concept | 2021 Q2 | 2021 Q1 | 2020 Q2 |
---|---|---|---|
SHORT-TERM ASSETS | |||
Cash & Short-Term Investments | $7.258M | $8.300M | $8.900M |
YoY Change | -18.45% | -33.06% | -25.83% |
Cash & Equivalents | $7.258M | $8.310M | $8.859M |
Short-Term Investments | |||
Other Short-Term Assets | $117.5M | $114.3M | $123.0M |
YoY Change | -4.48% | 6.23% | 4818.03% |
Inventory | $2.836M | $2.317M | $965.0K |
Prepaid Expenses | $96.32M | ||
Receivables | $14.81M | $15.87M | $7.506M |
Other Receivables | $4.041M | $1.300M | $1.300M |
Total Short-Term Assets | $146.4M | $142.1M | $141.6M |
YoY Change | 3.39% | 4.16% | -5.54% |
LONG-TERM ASSETS | |||
Property, Plant & Equipment | $144.2M | $129.8M | $101.3M |
YoY Change | 42.35% | 37.71% | 58.24% |
Goodwill | $116.3M | $116.3M | $116.3M |
YoY Change | 0.0% | 0.4% | 5.64% |
Intangibles | $42.70M | $44.98M | $52.73M |
YoY Change | -19.03% | -24.93% | -11.3% |
Long-Term Investments | $2.012M | ||
YoY Change | |||
Other Assets | $18.74M | $18.60M | $18.90M |
YoY Change | -0.84% | 0.54% | 4.42% |
Total Long-Term Assets | $337.1M | $322.0M | $300.6M |
YoY Change | 12.16% | 6.83% | 13.7% |
TOTAL ASSETS | |||
Total Short-Term Assets | $146.4M | $142.1M | $141.6M |
Total Long-Term Assets | $337.1M | $322.0M | $300.6M |
Total Assets | $483.5M | $464.1M | $442.2M |
YoY Change | 9.35% | 6.0% | 6.74% |
SHORT-TERM LIABILITIES | |||
YoY Change | |||
Accounts Payable | $7.430M | $9.969M | $6.511M |
YoY Change | 14.11% | 10.82% | -14.22% |
Accrued Expenses | $14.00M | $11.03M | $9.915M |
YoY Change | 41.23% | 40.7% | -8.1% |
Deferred Revenue | $130.1M | $132.4M | $129.1M |
YoY Change | 0.79% | 4.97% | -1.09% |
Short-Term Debt | $0.00 | $0.00 | $0.00 |
YoY Change | |||
Long-Term Debt Due | |||
YoY Change | |||
Total Short-Term Liabilities | $170.7M | $172.1M | $165.1M |
YoY Change | 3.39% | 5.77% | -0.39% |
LONG-TERM LIABILITIES | |||
Long-Term Debt | $139.9M | $121.8M | $113.6M |
YoY Change | 23.12% | 7.31% | 13.71% |
Other Long-Term Liabilities | $3.607M | $3.512M | $3.244M |
YoY Change | 11.19% | 11.42% | -91.09% |
Total Long-Term Liabilities | $3.607M | $3.512M | $3.244M |
YoY Change | 11.19% | 11.42% | -97.62% |
TOTAL LIABILITIES | |||
Total Short-Term Liabilities | $170.7M | $172.1M | $165.1M |
Total Long-Term Liabilities | $3.607M | $3.512M | $3.244M |
Total Liabilities | $174.3M | $175.6M | $168.3M |
YoY Change | 3.54% | 5.87% | -48.57% |
SHAREHOLDERS EQUITY | |||
Retained Earnings | $84.06M | $82.26M | $77.32M |
YoY Change | 8.72% | 6.38% | 16.76% |
Common Stock | $25.67M | $23.29M | $19.46M |
YoY Change | 31.91% | 24.2% | -5.81% |
Preferred Stock | |||
YoY Change | |||
Treasury Stock (at cost) | |||
YoY Change | |||
Treasury Stock Shares | |||
Shareholders Equity | $110.8M | $107.4M | $97.37M |
YoY Change | |||
Total Liabilities & Shareholders Equity | $483.5M | $464.1M | $442.2M |
YoY Change | 9.35% | 6.0% | 6.74% |
Cashflow Statement
Concept | 2021 Q2 | 2021 Q1 | 2020 Q2 |
---|---|---|---|
OPERATING ACTIVITIES | |||
Net Income | $1.807M | $2.149M | $157.0K |
YoY Change | 1050.96% | -24.17% | -94.0% |
Depreciation, Depletion And Amortization | $4.211M | $3.759M | $3.155M |
YoY Change | 33.47% | 25.72% | 45.26% |
Cash From Operating Activities | $3.518M | $14.09M | $8.939M |
YoY Change | -60.64% | 0.09% | 28.08% |
INVESTING ACTIVITIES | |||
Capital Expenditures | $21.66M | $13.94M | $12.15M |
YoY Change | 78.28% | 40.24% | 16.67% |
Acquisitions | |||
YoY Change | |||
Other Investing Activities | -$2.079M | -$150.0K | -$70.00K |
YoY Change | 2870.0% | -98.29% | -97.23% |
Cash From Investing Activities | -$23.74M | -$14.10M | -$12.22M |
YoY Change | 94.25% | -24.66% | -5.59% |
FINANCING ACTIVITIES | |||
Cash Dividend Paid | |||
YoY Change | |||
Common Stock Issuance & Retirement, Net | $0.00 | $0.00 | $164.0K |
YoY Change | -100.0% | -100.0% | |
Debt Paid & Issued, Net | |||
YoY Change | |||
Cash From Financing Activities | $19.17M | $11.00K | -$307.0K |
YoY Change | -6343.0% | -100.33% | -104.43% |
NET CHANGE | |||
Cash From Operating Activities | $3.518M | $14.09M | $8.939M |
Cash From Investing Activities | -$23.74M | -$14.10M | -$12.22M |
Cash From Financing Activities | $19.17M | $11.00K | -$307.0K |
Net Change In Cash | -$1.052M | -$1.000K | -$3.587M |
YoY Change | -70.67% | -99.99% | -470.56% |
FREE CASH FLOW | |||
Cash From Operating Activities | $3.518M | $14.09M | $8.939M |
Capital Expenditures | $21.66M | $13.94M | $12.15M |
Free Cash Flow | -$18.14M | $142.0K | -$3.211M |
YoY Change | 465.03% | -96.56% | -6.52% |
Facts In Submission
Frame | Concept Type | Concept / XBRL Key | Value | Unit |
---|---|---|---|---|
CY2021Q3 | dei |
Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
|
10670394 | |
CY2021Q2 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
202000 | USD |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
|
222000 | USD |
CY2021Q2 | us-gaap |
Preferred Stock No Par Value
PreferredStockNoParValue
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock No Par Value
PreferredStockNoParValue
|
0 | |
CY2021Q2 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
1250000 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
|
1250000 | |
CY2021Q2 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2021Q2 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Issued
PreferredStockSharesIssued
|
0 | |
CY2020Q4 | us-gaap |
Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
|
0 | |
CY2021Q2 | us-gaap |
Common Stock No Par Value
CommonStockNoParValue
|
0 | |
CY2020Q4 | us-gaap |
Common Stock No Par Value
CommonStockNoParValue
|
0 | |
CY2021Q2 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
250000000 | |
CY2020Q4 | us-gaap |
Common Stock Shares Authorized
CommonStockSharesAuthorized
|
250000000 | |
CY2021Q2 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10665514 | |
CY2021Q2 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
10665514 | |
CY2020Q4 | us-gaap |
Common Stock Shares Issued
CommonStockSharesIssued
|
10612414 | |
CY2020Q4 | us-gaap |
Common Stock Shares Outstanding
CommonStockSharesOutstanding
|
10612414 | |
CY2021Q2 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2020Q4 | us-gaap |
Commitments And Contingencies
CommitmentsAndContingencies
|
USD | |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
|
-235000 | USD |
CY2020Q2 | us-gaap |
Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
|
398000 | USD |
us-gaap |
Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
|
-375000 | USD | |
us-gaap |
Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
|
32000 | USD | |
us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | USD | |
CY2021Q2 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | USD |
CY2020Q2 | us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | USD |
CY2021Q2 | us-gaap |
Derivative Liabilities Current
DerivativeLiabilitiesCurrent
|
110000 | USD |
CY2020Q4 | tcx |
Customer Deposit Liability Current
CustomerDepositLiabilityCurrent
|
15402000 | USD |
CY2021Q2 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
|
0 | USD |
CY2020Q4 | us-gaap |
Unrecognized Tax Benefits Income Tax Penalties And Interest Accrued
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued
|
0 | USD |
CY2021Q2 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P7Y10M13D | |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
|
P8Y4M6D | |
us-gaap |
Employee Service Share Based Compensation Allocation Of Recognized Period Costs Capitalized Amount
EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
|
0 | USD | |
CY2021Q2 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
7258000 | USD |
CY2020Q4 | us-gaap |
Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
|
8311000 | USD |
CY2021Q2 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
14811000 | USD |
CY2020Q4 | us-gaap |
Accounts Receivable Net Current
AccountsReceivableNetCurrent
|
15540000 | USD |
CY2021Q2 | us-gaap |
Inventory Net
InventoryNet
|
2836000 | USD |
CY2020Q4 | us-gaap |
Inventory Net
InventoryNet
|
1875000 | USD |
CY2021Q2 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
19637000 | USD |
CY2020Q4 | us-gaap |
Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
|
16845000 | USD |
CY2021Q2 | us-gaap |
Derivative Assets Current
DerivativeAssetsCurrent
|
1704000 | USD |
CY2020Q4 | us-gaap |
Derivative Assets Current
DerivativeAssetsCurrent
|
3860000 | USD |
CY2021Q2 | us-gaap |
Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
|
96148000 | USD |
CY2020Q4 | us-gaap |
Capitalized Contract Cost Net Current
CapitalizedContractCostNetCurrent
|
93467000 | USD |
CY2021Q2 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
4041000 | USD |
CY2020Q4 | us-gaap |
Income Taxes Receivable
IncomeTaxesReceivable
|
1302000 | USD |
CY2021Q2 | us-gaap |
Assets Current
AssetsCurrent
|
146435000 | USD |
CY2020Q4 | us-gaap |
Assets Current
AssetsCurrent
|
141200000 | USD |
CY2021Q2 | us-gaap |
Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
|
18490000 | USD |
CY2020Q4 | us-gaap |
Capitalized Contract Cost Net Noncurrent
CapitalizedContractCostNetNoncurrent
|
17599000 | USD |
CY2021Q2 | us-gaap |
Derivative Assets Noncurrent
DerivativeAssetsNoncurrent
|
83000 | USD |
CY2020Q4 | us-gaap |
Derivative Assets Noncurrent
DerivativeAssetsNoncurrent
|
0 | USD |
CY2021Q2 | us-gaap |
Long Term Investments
LongTermInvestments
|
2012000 | USD |
CY2020Q4 | us-gaap |
Long Term Investments
LongTermInvestments
|
0 | USD |
CY2021Q2 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
168000 | USD |
CY2020Q4 | us-gaap |
Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
|
226000 | USD |
CY2021Q2 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
144187000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
117530000 | USD |
CY2021Q2 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
12541000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
|
11238000 | USD |
CY2021Q2 | us-gaap |
Deferred Costs
DeferredCosts
|
617000 | USD |
CY2020Q4 | us-gaap |
Deferred Costs
DeferredCosts
|
362000 | USD |
CY2021Q2 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
42695000 | USD |
CY2020Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
47444000 | USD |
CY2021Q2 | us-gaap |
Goodwill
Goodwill
|
116304000 | USD |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
116304000 | USD |
CY2021Q2 | us-gaap |
Assets
Assets
|
483532000 | USD |
CY2020Q4 | us-gaap |
Assets
Assets
|
451903000 | USD |
CY2021Q2 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
7430000 | USD |
CY2020Q4 | us-gaap |
Accounts Payable Current
AccountsPayableCurrent
|
6329000 | USD |
CY2021Q2 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
14003000 | USD |
CY2020Q4 | us-gaap |
Accrued Liabilities Current
AccruedLiabilitiesCurrent
|
10235000 | USD |
CY2021Q2 | tcx |
Customer Deposit Liability Current
CustomerDepositLiabilityCurrent
|
15812000 | USD |
CY2020Q4 | us-gaap |
Derivative Liabilities Current
DerivativeLiabilitiesCurrent
|
99000 | USD |
CY2021Q2 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
2270000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
|
1761000 | USD |
CY2021Q2 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
130094000 | USD |
CY2020Q4 | us-gaap |
Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
|
127336000 | USD |
CY2021Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
1097000 | USD |
CY2021Q2 | us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
4084000 | USD |
CY2021Q2 | tcx |
Accreditation Fees Payable Current
AccreditationFeesPayableCurrent
|
958000 | USD |
CY2020Q4 | tcx |
Accreditation Fees Payable Current
AccreditationFeesPayableCurrent
|
940000 | USD |
CY2021Q2 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
20000 | USD |
CY2020Q4 | us-gaap |
Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
|
863000 | USD |
CY2021Q2 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
170697000 | USD |
CY2020Q4 | us-gaap |
Liabilities Current
LiabilitiesCurrent
|
162965000 | USD |
CY2021Q2 | us-gaap |
Derivative Liabilities Noncurrent
DerivativeLiabilitiesNoncurrent
|
0 | USD |
CY2020Q4 | us-gaap |
Derivative Liabilities Noncurrent
DerivativeLiabilitiesNoncurrent
|
114000 | USD |
CY2021Q2 | us-gaap |
Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
|
24766000 | USD |
CY2020Q4 | us-gaap |
Contract With Customer Liability Noncurrent
ContractWithCustomerLiabilityNoncurrent
|
24909000 | USD |
CY2021Q2 | us-gaap |
Other Accrued Liabilities Noncurrent
OtherAccruedLiabilitiesNoncurrent
|
183000 | USD |
CY2020Q4 | us-gaap |
Other Accrued Liabilities Noncurrent
OtherAccruedLiabilitiesNoncurrent
|
195000 | USD |
CY2021Q2 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
10202000 | USD |
CY2020Q4 | us-gaap |
Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
|
9179000 | USD |
CY2021Q2 | us-gaap |
Long Term Loans Payable
LongTermLoansPayable
|
139867000 | USD |
CY2020Q4 | us-gaap |
Long Term Loans Payable
LongTermLoansPayable
|
121733000 | USD |
CY2021Q2 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
3607000 | USD |
CY2020Q4 | us-gaap |
Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
|
3416000 | USD |
CY2021Q2 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
23386000 | USD |
CY2020Q4 | us-gaap |
Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
|
24694000 | USD |
CY2021Q2 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | USD |
CY2020Q4 | us-gaap |
Preferred Stock Value
PreferredStockValue
|
0 | USD |
CY2021Q2 | us-gaap |
Common Stock Value
CommonStockValue
|
23457000 | USD |
CY2020Q4 | us-gaap |
Common Stock Value
CommonStockValue
|
20798000 | USD |
CY2021Q2 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
2208000 | USD |
CY2020Q4 | us-gaap |
Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
|
1458000 | USD |
CY2021Q2 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
84062000 | USD |
CY2020Q4 | us-gaap |
Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
|
80106000 | USD |
CY2020Q4 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
2336000 | USD |
CY2021Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
110824000 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
104698000 | USD |
CY2021Q2 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
483532000 | USD |
CY2020Q4 | us-gaap |
Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
|
451903000 | USD |
CY2021Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
75093000 | USD |
CY2020Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
82122000 | USD |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
145968000 | USD | |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
166107000 | USD | |
CY2021Q2 | us-gaap |
Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
|
49133000 | USD |
CY2020Q2 | us-gaap |
Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
|
51790000 | USD |
us-gaap |
Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
|
95320000 | USD | |
us-gaap |
Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
|
104978000 | USD | |
CY2021Q2 | tcx |
Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
|
3612000 | USD |
CY2020Q2 | tcx |
Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
|
2485000 | USD |
tcx |
Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
|
6850000 | USD | |
tcx |
Cost Of Goods And Services Sold Network Expenses
CostOfGoodsAndServicesSoldNetworkExpenses
|
4901000 | USD | |
CY2020Q2 | us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
3030000 | USD |
us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
7722000 | USD | |
us-gaap |
Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
|
5907000 | USD | |
CY2021Q2 | us-gaap |
Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
|
24000 | USD |
CY2020Q2 | us-gaap |
Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
|
326000 | USD |
us-gaap |
Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
|
323000 | USD | |
us-gaap |
Cost Of Goods And Services Sold Amortization
CostOfGoodsAndServicesSoldAmortization
|
680000 | USD | |
tcx |
Cost Of Revenue Property And Equipment Impairment
CostOfRevenuePropertyAndEquipmentImpairment
|
1525000 | USD | |
CY2021Q2 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
56854000 | USD |
CY2020Q2 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-0 | USD |
us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-5000 | USD | |
us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-0 | USD | |
CY2021Q2 | tcx |
Cost Of Revenue Property And Equipment Impairment
CostOfRevenuePropertyAndEquipmentImpairment
|
1000 | USD |
CY2020Q2 | tcx |
Cost Of Revenue Property And Equipment Impairment
CostOfRevenuePropertyAndEquipmentImpairment
|
1525000 | USD |
tcx |
Cost Of Revenue Property And Equipment Impairment
CostOfRevenuePropertyAndEquipmentImpairment
|
61000 | USD | |
CY2020Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
1537000 | USD |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-3165000 | USD | |
us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
6709000 | USD | |
CY2021Q2 | us-gaap |
Interest Income Expense Net
InterestIncomeExpenseNet
|
-1003000 | USD |
CY2020Q2 | us-gaap |
Interest Income Expense Net
InterestIncomeExpenseNet
|
-846000 | USD |
us-gaap |
Interest Income Expense Net
InterestIncomeExpenseNet
|
-1939000 | USD | |
CY2020Q2 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
59156000 | USD |
us-gaap |
Cost Of Revenue
CostOfRevenue
|
110276000 | USD | |
us-gaap |
Cost Of Revenue
CostOfRevenue
|
117991000 | USD | |
CY2021Q2 | us-gaap |
Gross Profit
GrossProfit
|
18239000 | USD |
CY2020Q2 | us-gaap |
Gross Profit
GrossProfit
|
22966000 | USD |
us-gaap |
Gross Profit
GrossProfit
|
35692000 | USD | |
us-gaap |
Gross Profit
GrossProfit
|
48116000 | USD | |
CY2021Q2 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
9376000 | USD |
CY2020Q2 | us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
9218000 | USD |
us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
17687000 | USD | |
us-gaap |
Selling And Marketing Expense
SellingAndMarketingExpense
|
18203000 | USD | |
CY2021Q2 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
3170000 | USD |
CY2020Q2 | us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
3067000 | USD |
us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
6302000 | USD | |
us-gaap |
Research And Development Expense
ResearchAndDevelopmentExpense
|
5818000 | USD | |
CY2021Q2 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
5210000 | USD |
CY2020Q2 | us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
5465000 | USD |
us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
10163000 | USD | |
us-gaap |
General And Administrative Expense
GeneralAndAdministrativeExpense
|
10206000 | USD | |
CY2021Q2 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
127000 | USD |
CY2020Q2 | us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
125000 | USD |
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
248000 | USD | |
us-gaap |
Depreciation And Amortization
DepreciationAndAmortization
|
238000 | USD | |
CY2021Q2 | us-gaap |
Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
|
-5000 | USD |
CY2021Q2 | tcx |
Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
|
2322000 | USD |
CY2020Q2 | tcx |
Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
|
2504000 | USD |
tcx |
Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
|
4642000 | USD | |
tcx |
Amortization Of Intangible Assets Net Of Cost Of Services Amortization
AmortizationOfIntangibleAssetsNetOfCostOfServicesAmortization
|
5451000 | USD | |
CY2021Q2 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | USD |
CY2020Q2 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
1431000 | USD |
us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | USD | |
us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
1431000 | USD | |
CY2021Q2 | us-gaap |
Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
|
-63000 | USD |
CY2020Q2 | us-gaap |
Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
|
381000 | USD |
us-gaap |
Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
|
190000 | USD | |
us-gaap |
Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
|
-60000 | USD | |
CY2021Q2 | us-gaap |
Operating Expenses
OperatingExpenses
|
20273000 | USD |
CY2020Q2 | us-gaap |
Operating Expenses
OperatingExpenses
|
21429000 | USD |
us-gaap |
Operating Expenses
OperatingExpenses
|
38857000 | USD | |
us-gaap |
Operating Expenses
OperatingExpenses
|
41407000 | USD | |
CY2021Q2 | us-gaap |
Operating Income Loss
OperatingIncomeLoss
|
-2034000 | USD |
us-gaap |
Interest Income Expense Net
InterestIncomeExpenseNet
|
-1996000 | USD | |
CY2021Q2 | us-gaap |
Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
|
4808000 | USD |
CY2020Q2 | us-gaap |
Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
|
0 | USD |
us-gaap |
Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
|
10203000 | USD | |
us-gaap |
Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
|
0 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
|
1855000 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
|
-243000 | USD | |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
-773000 | USD |
CY2020Q2 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
1314000 | USD |
CY2021Q2 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-83000 | USD |
CY2020Q2 | us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-85000 | USD |
us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-179000 | USD | |
us-gaap |
Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
|
-172000 | USD | |
CY2021Q2 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
3722000 | USD |
CY2020Q2 | us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-931000 | USD |
us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
8085000 | USD | |
us-gaap |
Nonoperating Income Expense
NonoperatingIncomeExpense
|
-2168000 | USD | |
CY2021Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
1688000 | USD |
CY2020Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
606000 | USD |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
4920000 | USD | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
4541000 | USD | |
CY2021Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-119000 | USD |
CY2020Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
449000 | USD |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
964000 | USD | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1550000 | USD | |
CY2021Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1807000 | USD |
CY2020Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
157000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
3956000 | USD | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
2991000 | USD | |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
|
248000 | USD |
CY2020Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
|
1114000 | USD |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
|
616000 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
|
-120000 | USD | |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
|
1021000 | USD |
CY2020Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
|
-200000 | USD |
us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
-1239000 | USD | |
us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
123000 | USD | |
CY2021Q2 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
1034000 | USD |
CY2020Q2 | us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
1471000 | USD |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
2717000 | USD | |
us-gaap |
Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
|
3114000 | USD | |
CY2021Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.17 | |
CY2020Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.01 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.37 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.28 | ||
CY2021Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10633601 | |
CY2020Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10567382 | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10625748 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10589806 | ||
CY2021Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.17 | |
CY2020Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.01 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.37 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.28 | ||
CY2021Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10797921 | |
CY2020Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10653527 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10794523 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10684304 | ||
CY2021Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1807000 | USD |
CY2020Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
157000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
3956000 | USD | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
2991000 | USD | |
CY2021Q2 | us-gaap |
Depreciation
Depreciation
|
4211000 | USD |
CY2020Q2 | us-gaap |
Depreciation
Depreciation
|
3155000 | USD |
us-gaap |
Depreciation
Depreciation
|
7970000 | USD | |
CY2021Q2 | us-gaap |
Accretion Expense
AccretionExpense
|
95000 | USD |
us-gaap |
Depreciation
Depreciation
|
6145000 | USD | |
CY2021Q2 | us-gaap |
Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
|
1000 | USD |
CY2020Q2 | us-gaap |
Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
|
1525000 | USD |
us-gaap |
Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
|
61000 | USD | |
us-gaap |
Tangible Asset Impairment Charges
TangibleAssetImpairmentCharges
|
1525000 | USD | |
CY2021Q2 | us-gaap |
Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
|
67000 | USD |
CY2020Q2 | us-gaap |
Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
|
67000 | USD |
us-gaap |
Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
|
134000 | USD | |
us-gaap |
Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
|
134000 | USD | |
CY2021Q2 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
2346000 | USD |
CY2020Q2 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
2830000 | USD |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
4965000 | USD | |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
6131000 | USD | |
CY2021Q2 | tcx |
Amortization Of Contract Costs
AmortizationOfContractCosts
|
-248000 | USD |
CY2020Q2 | tcx |
Amortization Of Contract Costs
AmortizationOfContractCosts
|
95000 | USD |
tcx |
Amortization Of Contract Costs
AmortizationOfContractCosts
|
-255000 | USD | |
tcx |
Amortization Of Contract Costs
AmortizationOfContractCosts
|
124000 | USD | |
CY2021Q2 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | USD |
CY2020Q2 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
1431000 | USD |
us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | USD | |
us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
1431000 | USD | |
CY2021Q2 | us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
0 | USD |
CY2020Q2 | us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
223000 | USD |
us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
0 | USD | |
us-gaap |
Other Operating Activities Cash Flow Statement
OtherOperatingActivitiesCashFlowStatement
|
223000 | USD | |
CY2020Q2 | us-gaap |
Accretion Expense
AccretionExpense
|
85000 | USD |
us-gaap |
Accretion Expense
AccretionExpense
|
191000 | USD | |
us-gaap |
Accretion Expense
AccretionExpense
|
172000 | USD | |
CY2021Q2 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-660000 | USD |
CY2020Q2 | us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-917000 | USD |
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-880000 | USD | |
us-gaap |
Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
|
-1107000 | USD | |
CY2021Q2 | us-gaap |
Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
|
372000 | USD |
CY2020Q2 | us-gaap |
Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
|
164000 | USD |
us-gaap |
Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
|
544000 | USD | |
us-gaap |
Excess Tax Benefit From Share Based Compensation Operating Activities
ExcessTaxBenefitFromShareBasedCompensationOperatingActivities
|
344000 | USD | |
CY2021Q2 | tcx |
Operating Lease Net
OperatingLeaseNet
|
-174000 | USD |
CY2020Q2 | tcx |
Operating Lease Net
OperatingLeaseNet
|
-291000 | USD |
tcx |
Operating Lease Net
OperatingLeaseNet
|
-229000 | USD | |
tcx |
Operating Lease Net
OperatingLeaseNet
|
-112000 | USD | |
CY2021Q2 | tcx |
Disposal Of Domain Names
DisposalOfDomainNames
|
0 | USD |
CY2020Q2 | tcx |
Disposal Of Domain Names
DisposalOfDomainNames
|
2000 | USD |
tcx |
Disposal Of Domain Names
DisposalOfDomainNames
|
1000 | USD | |
tcx |
Disposal Of Domain Names
DisposalOfDomainNames
|
15000 | USD | |
CY2021Q2 | us-gaap |
Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
|
-191000 | USD |
CY2020Q2 | us-gaap |
Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
|
436000 | USD |
us-gaap |
Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
|
-357000 | USD | |
us-gaap |
Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
|
88000 | USD | |
CY2021Q2 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1209000 | USD |
CY2020Q2 | us-gaap |
Share Based Compensation
ShareBasedCompensation
|
847000 | USD |
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
2231000 | USD | |
us-gaap |
Share Based Compensation
ShareBasedCompensation
|
1648000 | USD | |
CY2021Q2 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-1057000 | USD |
CY2020Q2 | us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-401000 | USD |
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-729000 | USD | |
CY2020Q2 | us-gaap |
Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
|
-294000 | USD |
us-gaap |
Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
|
3034000 | USD | |
us-gaap |
Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
|
-794000 | USD | |
CY2021Q2 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
568000 | USD |
CY2020Q2 | us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
-1521000 | USD |
us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
2019000 | USD | |
us-gaap |
Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
|
250000 | USD | |
CY2021Q2 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
2975000 | USD |
CY2020Q2 | us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
2165000 | USD |
us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
3768000 | USD | |
us-gaap |
Increase Decrease In Accrued Liabilities
IncreaseDecreaseInAccruedLiabilities
|
334000 | USD | |
CY2021Q2 | tcx |
Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
|
285000 | USD |
CY2020Q2 | tcx |
Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
|
336000 | USD |
tcx |
Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
|
410000 | USD | |
us-gaap |
Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
|
-2552000 | USD | |
CY2021Q2 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
519000 | USD |
CY2020Q2 | us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-900000 | USD |
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
961000 | USD | |
us-gaap |
Increase Decrease In Inventories
IncreaseDecreaseInInventories
|
-1804000 | USD | |
CY2021Q2 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
5058000 | USD |
CY2020Q2 | us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
3247000 | USD |
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
2792000 | USD | |
us-gaap |
Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
|
3222000 | USD | |
CY2021Q2 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
-539000 | USD |
CY2020Q2 | us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
2204000 | USD |
us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
3572000 | USD | |
us-gaap |
Increase Decrease In Prepaid Expense
IncreaseDecreaseInPrepaidExpense
|
5057000 | USD | |
CY2021Q2 | us-gaap |
Increase Decrease In Income Taxes Receivable
IncreaseDecreaseInIncomeTaxesReceivable
|
2345000 | USD |
tcx |
Increase Decrease In Customer Deposit Liability
IncreaseDecreaseInCustomerDepositLiability
|
394000 | USD | |
CY2021Q2 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
-2734000 | USD |
CY2020Q2 | us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
2655000 | USD |
us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
2615000 | USD | |
us-gaap |
Increase Decrease In Contract With Customer Liability
IncreaseDecreaseInContractWithCustomerLiability
|
5997000 | USD | |
CY2021Q2 | tcx |
Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
|
-71000 | USD |
CY2020Q2 | tcx |
Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
|
-31000 | USD |
tcx |
Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
|
6000 | USD | |
tcx |
Increase Decrease In Accreditation Fees Payable
IncreaseDecreaseInAccreditationFeesPayable
|
54000 | USD | |
CY2021Q2 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
3518000 | USD |
CY2020Q2 | us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
8939000 | USD |
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
17604000 | USD | |
us-gaap |
Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
|
23012000 | USD | |
CY2021Q2 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
1247000 | USD |
CY2020Q2 | us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
29000 | USD |
us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
1476000 | USD | |
us-gaap |
Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
|
46000 | USD | |
CY2021Q2 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
80000 | USD |
CY2020Q2 | us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
165000 | USD |
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
298000 | USD | |
us-gaap |
Payments Related To Tax Withholding For Share Based Compensation
PaymentsRelatedToTaxWithholdingForShareBasedCompensation
|
347000 | USD | |
CY2021Q2 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
-0 | USD |
CY2020Q2 | us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
164000 | USD |
us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
-0 | USD | |
us-gaap |
Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
|
3281000 | USD | |
CY2021Q2 | us-gaap |
Proceeds From Notes Payable
ProceedsFromNotesPayable
|
18000000 | USD |
CY2020Q2 | us-gaap |
Proceeds From Notes Payable
ProceedsFromNotesPayable
|
0 | USD |
us-gaap |
Proceeds From Notes Payable
ProceedsFromNotesPayable
|
18000000 | USD | |
us-gaap |
Proceeds From Notes Payable
ProceedsFromNotesPayable
|
0 | USD | |
CY2021Q2 | tcx |
Payments Of Proceeds From Financing Costs
PaymentsOfProceedsFromFinancingCosts
|
1000 | USD |
CY2020Q2 | tcx |
Payments Of Proceeds From Financing Costs
PaymentsOfProceedsFromFinancingCosts
|
7000 | USD |
tcx |
Payments Of Proceeds From Financing Costs
PaymentsOfProceedsFromFinancingCosts
|
1000 | USD | |
tcx |
Payments Of Proceeds From Financing Costs
PaymentsOfProceedsFromFinancingCosts
|
32000 | USD | |
CY2021Q2 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
19166000 | USD |
CY2020Q2 | us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-307000 | USD |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
19177000 | USD | |
us-gaap |
Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
|
-3614000 | USD | |
CY2021Q2 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
21661000 | USD |
CY2020Q2 | us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
12150000 | USD |
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
35605000 | USD | |
us-gaap |
Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
|
22093000 | USD | |
CY2021Q2 | us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
2012000 | USD |
CY2020Q2 | us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
-0 | USD |
us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
2012000 | USD | |
us-gaap |
Payments To Acquire Investments
PaymentsToAcquireInvestments
|
-0 | USD | |
CY2021Q2 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
63000 | USD |
CY2020Q2 | us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
69000 | USD |
us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
217000 | USD | |
us-gaap |
Payments To Acquire Intangible Assets
PaymentsToAcquireIntangibleAssets
|
69000 | USD | |
CY2021Q2 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-23736000 | USD |
CY2020Q2 | us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-12219000 | USD |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-37834000 | USD | |
us-gaap |
Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
|
-30932000 | USD | |
CY2021Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-1052000 | USD |
CY2020Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-3587000 | USD |
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-1053000 | USD | |
us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
|
-11534000 | USD | |
CY2021Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
8310000 | USD |
CY2020Q1 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
12446000 | 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 |
CY2021Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
7258000 | USD |
CY2020Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
8859000 | USD |
CY2021Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
7258000 | USD |
CY2020Q2 | us-gaap |
Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
|
8859000 | USD |
CY2021Q2 | us-gaap |
Interest Paid Net
InterestPaidNet
|
995000 | USD |
CY2020Q2 | us-gaap |
Interest Paid Net
InterestPaidNet
|
686000 | USD |
us-gaap |
Interest Paid Net
InterestPaidNet
|
1940000 | USD | |
us-gaap |
Interest Paid Net
InterestPaidNet
|
1840000 | USD | |
CY2021Q2 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
3415000 | USD |
CY2020Q2 | us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
1243000 | USD |
us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
5796000 | USD | |
us-gaap |
Income Taxes Paid Net
IncomeTaxesPaidNet
|
2200000 | USD | |
CY2021Q2 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
212000 | USD |
CY2020Q2 | us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
635000 | USD |
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
212000 | USD | |
us-gaap |
Capital Expenditures Incurred But Not Yet Paid
CapitalExpendituresIncurredButNotYetPaid
|
635000 | USD | |
CY2021Q2 | us-gaap |
Stock Issued1
StockIssued1
|
0 | USD |
CY2020Q2 | us-gaap |
Stock Issued1
StockIssued1
|
0 | USD |
us-gaap |
Stock Issued1
StockIssued1
|
0 | USD | |
us-gaap |
Stock Issued1
StockIssued1
|
2000000 | USD | |
CY2021Q2 | us-gaap |
Liabilities Assumed1
LiabilitiesAssumed1
|
0 | USD |
CY2020Q2 | us-gaap |
Liabilities Assumed1
LiabilitiesAssumed1
|
7000 | USD |
us-gaap |
Liabilities Assumed1
LiabilitiesAssumed1
|
0 | USD | |
us-gaap |
Liabilities Assumed1
LiabilitiesAssumed1
|
3072000 | USD | |
us-gaap |
Basis Of Accounting
BasisOfAccounting
|
<p style="margin: 0px; text-align: justify; font-family: Times New Roman; font-size: 10pt;"><b><em style="font: inherit;">2.</em> Basis of Presentation:</b></p> <p style="margin: 0px; text-align: justify; font-family: Times New Roman; font-size: 10pt;"> </p> <p style="margin: 0px; text-indent: 27pt; font-family: Times New Roman; font-size: 10pt;">The accompanying unaudited interim consolidated balance sheets, and the related consolidated statements of operations and comprehensive income and cash flows reflect all adjustments, consisting of normal recurring adjustments, that are, in the opinion of management, necessary for a fair presentation of the financial position of Tucows and its subsidiaries as at <em style="font: inherit;"> June 30, 2021</em> and the results of operations and cash flows for the interim periods ended <em style="font: inherit;"> June 30, 2021</em> and <em style="font: inherit;">2020</em>. The results of operations presented in this Quarterly Report on Form <em style="font: inherit;">10</em>-Q are <em style="font: inherit;">not</em> necessarily indicative of the results of operations that <em style="font: inherit;"> may </em>be expected for future periods.</p> <p style="margin: 0px; font-family: Times New Roman; font-size: 10pt;"> </p> <p style="margin: 0px; text-indent: 27pt; font-family: Times New Roman; font-size: 10pt;">The accompanying unaudited interim consolidated financial statements have been prepared by Tucows in accordance with the rules and regulations of the United States Securities and Exchange Commission (the “SEC”). Certain information and footnote disclosures normally included in the Company's annual audited consolidated financial statements and accompanying notes have been condensed or omitted. Other than the exception noted below, these interim consolidated financial statements and accompanying notes follow the same accounting policies and methods of application used in the annual financial statements and should be read in conjunction with the Company's audited consolidated financial statements and notes thereto for the year ended <em style="font: inherit;"> December 31, </em><em style="font: inherit;">2020</em> included in Tucows' <em style="font: inherit;">2020</em> Annual Report on Form <em style="font: inherit;">10</em>-K filed with the SEC on <em style="font: inherit;"> March 3, 2021 (</em>the “<em style="font: inherit;">2020</em> Annual Report”). There have been <em style="font: inherit;">no</em> material changes to our significant accounting policies and estimates during the <em style="font: inherit;">three</em> and <em style="font: inherit;">six</em> months ended <em style="font: inherit;"> June 30, 2021</em> as compared to the significant accounting policies and estimates described in our <em style="font: inherit;">2020</em> Annual Report, <span style="color:#000000;"><span style="font-family: "Times New Roman"; font-size: 10pt;">except as described in Note <em style="font: inherit;">13</em> - Segment Reporting and Note <em style="font: inherit;">16</em> - Fair Value Measurement. </span></span></p> <p style="margin: 0px; text-indent: 27pt; font-family: Times New Roman; font-size: 10pt;"> </p> | ||
CY2021Q1 | us-gaap |
Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
|
2432000 | USD |
CY2021Q1 | tcx |
Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
|
-562000 | USD |
CY2021Q1 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
1870000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
|
322000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
|
-74000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
|
248000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
|
1330000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
|
-309000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
|
1021000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Before Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesBeforeTax
|
-1008000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax
|
235000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Net Of Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax
|
-773000 | USD |
CY2021Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
|
1424000 | USD |
CY2021Q2 | tcx |
Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
|
-327000 | USD |
CY2021Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
1097000 | 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 |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
|
802000 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationTax
|
-186000 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAfterTax
|
616000 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
|
2416000 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationTax
|
-561000 | USD | |
us-gaap |
Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification After Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationAfterTax
|
1855000 | USD | |
us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Before Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesBeforeTax
|
-1614000 | USD | |
us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax
|
375000 | USD | |
us-gaap |
Other Comprehensive Income Loss Derivatives Qualifying As Hedges Net Of Tax
OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax
|
-1239000 | USD | |
CY2021Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
|
1424000 | USD |
CY2021Q2 | tcx |
Accumulated Other Comprehensive Income Tax
AccumulatedOtherComprehensiveIncomeTax
|
-327000 | USD |
CY2021Q2 | us-gaap |
Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
|
1097000 | USD |
CY2021Q2 | us-gaap |
Goodwill
Goodwill
|
116300000 | USD |
CY2020Q4 | us-gaap |
Goodwill
Goodwill
|
116300000 | USD |
us-gaap |
Goodwill Impairment Loss
GoodwillImpairmentLoss
|
0 | USD | |
CY2021Q1 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
44978000 | USD |
CY2021Q2 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
2346000 | USD |
CY2021Q2 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
42695000 | USD |
CY2020Q4 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
47444000 | USD |
tcx |
Disposal Of Domain Names
DisposalOfDomainNames
|
1000 | USD | |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
4965000 | USD | |
CY2021Q2 | us-gaap |
Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
|
42695000 | USD |
CY2021Q2 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Remainder Of Fiscal Year
FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
|
4689000 | USD |
CY2021Q2 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
|
9376000 | USD |
CY2021Q2 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
|
8683000 | USD |
CY2021Q2 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
|
3227000 | USD |
CY2021Q2 | us-gaap |
Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
|
2587000 | USD |
CY2021Q2 | tcx |
Finitelived Intangible Asset Expected Amortization After Year Four
FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour
|
1842000 | USD |
CY2021Q2 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
30404000 | USD |
CY2021Q2 | us-gaap |
Debt Instrument Unamortized Discount
DebtInstrumentUnamortizedDiscount
|
533000 | USD |
CY2020Q4 | us-gaap |
Debt Instrument Unamortized Discount
DebtInstrumentUnamortizedDiscount
|
667000 | USD |
CY2021Q2 | us-gaap |
Loans Payable
LoansPayable
|
139867000 | USD |
CY2020Q4 | us-gaap |
Loans Payable
LoansPayable
|
121733000 | USD |
CY2021Q2 | us-gaap |
Loans Payable Current
LoansPayableCurrent
|
-0 | USD |
CY2020Q4 | us-gaap |
Loans Payable Current
LoansPayableCurrent
|
-0 | USD |
CY2021Q2 | us-gaap |
Long Term Loans Payable
LongTermLoansPayable
|
139867000 | USD |
CY2020Q4 | us-gaap |
Long Term Loans Payable
LongTermLoansPayable
|
121733000 | USD |
CY2021Q2 | us-gaap |
Long Term Debt Maturities Repayments Of Principal Remainder Of Fiscal Year
LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear
|
0 | USD |
CY2021Q2 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Next Twelve Months
LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths
|
0 | USD |
CY2021Q2 | us-gaap |
Long Term Debt Maturities Repayments Of Principal In Year Two
LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo
|
140400000 | USD |
CY2021Q2 | us-gaap |
Long Term Debt
LongTermDebt
|
140400000 | USD |
CY2021Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
-100000 | USD |
CY2021Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
1700000 | USD |
CY2021Q2 | tcx |
Effective Income Tax Rate Reconciliation Foreign Exchange And Marktomarket Adjustments Amount
EffectiveIncomeTaxRateReconciliationForeignExchangeAndMarktomarketAdjustmentsAmount
|
-500000 | USD |
CY2021Q2 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-400000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
2991000 | USD | |
CY2021Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10633601 | |
CY2020Q2 | us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10567382 | |
CY2020Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
82122000 | USD |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
145968000 | USD | |
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10625748 | ||
us-gaap |
Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
|
10589806 | ||
CY2020Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
157000 | USD |
us-gaap |
Net Income Loss
NetIncomeLoss
|
3956000 | USD | |
CY2021Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
75093000 | USD |
CY2020Q2 | us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
400000 | USD |
CY2020Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
600000 | USD |
CY2020Q2 | tcx |
Effective Income Tax Rate Reconciliation Foreign Exchange And Marktomarket Adjustments Amount
EffectiveIncomeTaxRateReconciliationForeignExchangeAndMarktomarketAdjustmentsAmount
|
500000 | USD |
CY2020Q2 | us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-100000 | USD |
CY2020Q2 | us-gaap |
Income Tax Reconciliation Nondeductible Expense Impairment Losses
IncomeTaxReconciliationNondeductibleExpenseImpairmentLosses
|
3700000 | USD |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1000000.0 | USD | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
4900000 | USD | |
tcx |
Effective Income Tax Rate Reconciliation Foreign Exchange And Marktomarket Adjustments Amount
EffectiveIncomeTaxRateReconciliationForeignExchangeAndMarktomarketAdjustmentsAmount
|
-800000 | USD | |
us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-200000 | USD | |
us-gaap |
Income Tax Expense Benefit
IncomeTaxExpenseBenefit
|
1600000 | USD | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
|
4500000 | USD | |
us-gaap |
Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
|
-200000 | USD | |
us-gaap |
Income Tax Reconciliation Nondeductible Expense Impairment Losses
IncomeTaxReconciliationNondeductibleExpenseImpairmentLosses
|
3700000 | USD | |
CY2021Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1807000 | USD |
CY2021Q2 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
164320 | |
CY2020Q2 | us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
86145 | |
us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
168775 | ||
us-gaap |
Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
|
94498 | ||
CY2021Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10797921 | |
CY2020Q2 | us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10653527 | |
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10794523 | ||
us-gaap |
Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
|
10684304 | ||
CY2021Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.17 | |
CY2020Q2 | us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.01 | |
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.37 | ||
us-gaap |
Earnings Per Share Basic
EarningsPerShareBasic
|
0.28 | ||
CY2021Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.17 | |
CY2020Q2 | us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.01 | |
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.37 | ||
us-gaap |
Earnings Per Share Diluted
EarningsPerShareDiluted
|
0.28 | ||
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
166107000 | USD | |
CY2021Q2 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
56854000 | USD |
CY2020Q2 | us-gaap |
Cost Of Revenue
CostOfRevenue
|
59156000 | USD |
us-gaap |
Cost Of Revenue
CostOfRevenue
|
110276000 | USD | |
us-gaap |
Cost Of Revenue
CostOfRevenue
|
117991000 | USD | |
CY2020Q4 | us-gaap |
Contract With Customer Liability
ContractWithCustomerLiability
|
152245000 | USD |
tcx |
Contract With Customer Liability Additions
ContractWithCustomerLiabilityAdditions
|
106486000 | USD | |
us-gaap |
Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
|
-103871000 | USD | |
CY2021Q2 | us-gaap |
Contract With Customer Liability
ContractWithCustomerLiability
|
154860000 | USD |
CY2021Q2 | us-gaap |
Lessee Operating Lease Renewal Term
LesseeOperatingLeaseRenewalTerm
|
P5Y | |
tcx |
Lessee Operating Lease Option To Terminate Term
LesseeOperatingLeaseOptionToTerminateTerm
|
P1Y | ||
CY2021Q2 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
603000 | USD |
CY2020Q2 | us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
527000 | USD |
us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
1138000 | USD | |
us-gaap |
Operating Lease Cost
OperatingLeaseCost
|
1074000 | USD | |
CY2021Q2 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
33000 | USD |
CY2020Q2 | us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
130000 | USD |
us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
83000 | USD | |
us-gaap |
Short Term Lease Cost
ShortTermLeaseCost
|
374000 | USD | |
CY2021Q2 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
66000 | USD |
CY2020Q2 | us-gaap |
Variable Lease Cost
VariableLeaseCost
|
145000 | USD |
us-gaap |
Variable Lease Cost
VariableLeaseCost
|
242000 | USD | |
us-gaap |
Variable Lease Cost
VariableLeaseCost
|
273000 | USD | |
CY2021Q2 | us-gaap |
Lease Cost
LeaseCost
|
702000 | USD |
CY2020Q2 | us-gaap |
Lease Cost
LeaseCost
|
802000 | USD |
us-gaap |
Lease Cost
LeaseCost
|
1463000 | USD | |
us-gaap |
Lease Cost
LeaseCost
|
1721000 | USD | |
CY2021Q2 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
560000 | USD |
CY2020Q2 | us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
429000 | USD |
us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
1112000 | USD | |
us-gaap |
Operating Lease Payments
OperatingLeasePayments
|
987000 | USD | |
CY2021Q2 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
476000 | USD |
CY2020Q2 | us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
359000 | USD |
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
948000 | USD | |
CY2021Q2 | us-gaap |
Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
|
49133000 | USD |
CY2021Q2 | tcx |
Segment Gross Margin
SegmentGrossMargin
|
25960000 | USD |
CY2021Q2 | tcx |
Adjusted Ebitda
AdjustedEBITDA
|
11158000 | USD |
CY2020Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
82122000 | USD |
CY2020Q2 | us-gaap |
Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
|
51790000 | USD |
CY2020Q2 | tcx |
Segment Gross Margin
SegmentGrossMargin
|
30331000 | USD |
CY2020Q2 | tcx |
Adjusted Ebitda
AdjustedEBITDA
|
12175000 | USD |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
145968000 | USD | |
us-gaap |
Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
|
797000 | USD | |
CY2021Q2 | tcx |
Increase Decrease In Operating Lease Rightofuse Asset
IncreaseDecreaseInOperatingLeaseRightofuseAsset
|
1169000 | USD |
CY2020Q2 | tcx |
Increase Decrease In Operating Lease Rightofuse Asset
IncreaseDecreaseInOperatingLeaseRightofuseAsset
|
36000 | USD |
tcx |
Increase Decrease In Operating Lease Rightofuse Asset
IncreaseDecreaseInOperatingLeaseRightofuseAsset
|
2563000 | USD | |
tcx |
Increase Decrease In Operating Lease Rightofuse Asset
IncreaseDecreaseInOperatingLeaseRightofuseAsset
|
911000 | USD | |
CY2021Q2 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0330 | pure |
CY2020Q4 | us-gaap |
Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
|
0.0360 | pure |
CY2021Q2 | us-gaap |
Lessee Operating Lease Liability Payments Remainder Of Fiscal Year
LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
|
1311000 | USD |
CY2021Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
|
2658000 | USD |
CY2021Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
|
2670000 | USD |
CY2021Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
|
1867000 | USD |
CY2021Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
|
1248000 | USD |
CY2021Q2 | tcx |
Lessee Operating Lease Liability To Be Paid After Year Four
LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
|
4246000 | USD |
CY2021Q2 | us-gaap |
Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
|
14000000 | USD |
CY2021Q2 | us-gaap |
Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
|
1528000 | USD |
CY2021Q2 | us-gaap |
Operating Lease Liability
OperatingLeaseLiability
|
12472000 | USD |
CY2021Q2 | tcx |
Lessee Operating Lease Lease Not Yet Commenced Future Minimum Payments Due
LesseeOperatingLeaseLeaseNotYetCommencedFutureMinimumPaymentsDue
|
4100000 | USD |
us-gaap |
Number Of Operating Segments
NumberOfOperatingSegments
|
3 | pure | |
CY2021Q2 | us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
75093000 | USD |
us-gaap |
Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
|
95320000 | USD | |
tcx |
Segment Gross Margin
SegmentGrossMargin
|
50648000 | USD | |
tcx |
Adjusted Ebitda
AdjustedEBITDA
|
23881000 | USD | |
us-gaap |
Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
|
166107000 | USD | |
us-gaap |
Cost Of Goods And Service Excluding Depreciation Depletion And Amortization
CostOfGoodsAndServiceExcludingDepreciationDepletionAndAmortization
|
104978000 | USD | |
tcx |
Segment Gross Margin
SegmentGrossMargin
|
61129000 | USD | |
tcx |
Adjusted Ebitda
AdjustedEBITDA
|
24856000 | USD | |
CY2021Q2 | tcx |
Adjusted Ebitda
AdjustedEBITDA
|
11158000 | USD |
CY2020Q2 | tcx |
Adjusted Ebitda
AdjustedEBITDA
|
12175000 | USD |
tcx |
Adjusted Ebitda
AdjustedEBITDA
|
23881000 | USD | |
tcx |
Adjusted Ebitda
AdjustedEBITDA
|
24856000 | USD | |
CY2021Q2 | us-gaap |
Depreciation
Depreciation
|
4211000 | USD |
CY2020Q2 | us-gaap |
Depreciation
Depreciation
|
3155000 | USD |
us-gaap |
Depreciation
Depreciation
|
7970000 | USD | |
us-gaap |
Depreciation
Depreciation
|
6145000 | USD | |
CY2021Q2 | tcx |
Tangible Asset Impairment Charges Including Loss On Disposition Of Assets
TangibleAssetImpairmentChargesIncludingLossOnDispositionOfAssets
|
6000 | USD |
CY2020Q2 | tcx |
Tangible Asset Impairment Charges Including Loss On Disposition Of Assets
TangibleAssetImpairmentChargesIncludingLossOnDispositionOfAssets
|
1525000 | USD |
tcx |
Tangible Asset Impairment Charges Including Loss On Disposition Of Assets
TangibleAssetImpairmentChargesIncludingLossOnDispositionOfAssets
|
66000 | USD | |
tcx |
Tangible Asset Impairment Charges Including Loss On Disposition Of Assets
TangibleAssetImpairmentChargesIncludingLossOnDispositionOfAssets
|
1525000 | USD | |
CY2021Q2 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
2346000 | USD |
CY2020Q2 | us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
2830000 | USD |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
4965000 | USD | |
us-gaap |
Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
|
6131000 | USD | |
CY2021Q2 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | USD |
CY2020Q2 | us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
1431000 | USD |
us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
0 | USD | |
us-gaap |
Impairment Of Intangible Assets Excluding Goodwill
ImpairmentOfIntangibleAssetsExcludingGoodwill
|
1431000 | USD | |
CY2021Q2 | us-gaap |
Interest Income Expense Net
InterestIncomeExpenseNet
|
-1003000 | USD |
CY2020Q2 | us-gaap |
Interest Income Expense Net
InterestIncomeExpenseNet
|
-846000 | USD |
us-gaap |
Interest Income Expense Net
InterestIncomeExpenseNet
|
-1939000 | USD | |
us-gaap |
Interest Income Expense Net
InterestIncomeExpenseNet
|
-1996000 | USD | |
CY2021Q2 | us-gaap |
Accretion Expense
AccretionExpense
|
95000 | USD |
CY2020Q2 | us-gaap |
Accretion Expense
AccretionExpense
|
85000 | USD |
us-gaap |
Accretion Expense
AccretionExpense
|
191000 | USD | |
us-gaap |
Accretion Expense
AccretionExpense
|
172000 | USD | |
CY2021Q2 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1209000 | USD |
CY2020Q2 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
847000 | USD |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
2231000 | USD | |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1648000 | USD | |
CY2021Q2 | us-gaap |
Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
|
-191000 | USD |
CY2020Q2 | us-gaap |
Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
|
436000 | USD |
us-gaap |
Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
|
-357000 | USD | |
us-gaap |
Unrealized Gain Loss On Derivatives
UnrealizedGainLossOnDerivatives
|
88000 | USD | |
CY2021Q2 | us-gaap |
Foreign Currency Transaction Gain Loss Unrealized
ForeignCurrencyTransactionGainLossUnrealized
|
-42000 | USD |
CY2020Q2 | us-gaap |
Foreign Currency Transaction Gain Loss Unrealized
ForeignCurrencyTransactionGainLossUnrealized
|
-441000 | USD |
us-gaap |
Foreign Currency Transaction Gain Loss Unrealized
ForeignCurrencyTransactionGainLossUnrealized
|
-106000 | USD | |
us-gaap |
Foreign Currency Transaction Gain Loss Unrealized
ForeignCurrencyTransactionGainLossUnrealized
|
-399000 | USD | |
CY2021Q2 | us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
367000 | USD |
CY2020Q2 | us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
845000 | USD |
us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
1136000 | USD | |
us-gaap |
Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
|
956000 | USD | |
CY2021Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
1688000 | USD |
CY2020Q2 | us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
606000 | USD |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
4920000 | USD | |
us-gaap |
Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
|
4541000 | USD | |
CY2021Q2 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
144187000 | USD |
CY2020Q4 | us-gaap |
Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
|
117530000 | USD |
CY2021Q2 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
30404000 | USD |
CY2020Q4 | us-gaap |
Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
|
35152000 | USD |
CY2021Q2 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
168000 | USD |
CY2020Q4 | us-gaap |
Deferred Tax Assets Net
DeferredTaxAssetsNet
|
226000 | USD |
CY2020Q4 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
222000 | USD |
tcx |
Allowance For Doubtful Accounts Charged To Recovered Costs And Expenses
AllowanceForDoubtfulAccountsChargedToRecoveredCostsAndExpenses
|
0 | USD | |
us-gaap |
Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
|
20000 | USD | |
CY2021Q2 | us-gaap |
Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
|
202000 | 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 |
CY2021Q1 | us-gaap |
Stockholders Equity
StockholdersEquity
|
107414000 | USD |
CY2021Q2 | us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
1247000 | USD |
CY2021Q2 | us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
80000 | USD |
CY2021Q2 | us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
1209000 | USD |
CY2021Q2 | us-gaap |
Net Income Loss
NetIncomeLoss
|
1807000 | USD |
CY2021Q2 | us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
-773000 | USD |
CY2021Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
110824000 | USD |
CY2020Q4 | us-gaap |
Stockholders Equity
StockholdersEquity
|
104698000 | USD |
us-gaap |
Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
|
1476000 | USD | |
us-gaap |
Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
|
298000 | USD | |
us-gaap |
Stock Issued During Period Value Share Based Compensation
StockIssuedDuringPeriodValueShareBasedCompensation
|
2231000 | USD | |
us-gaap |
Net Income Loss
NetIncomeLoss
|
3956000 | USD | |
us-gaap |
Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
|
-1239000 | USD | |
CY2021Q2 | us-gaap |
Stockholders Equity
StockholdersEquity
|
110824000 | USD |
CY2021Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
808469 | |
CY2021Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
55.55 | |
CY2020Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
730037 | |
CY2020Q1 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
50.85 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
239050 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
79.43 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
190025 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
59.53 | |
CY2021Q2 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
45538 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
43.24 | |
CY2020Q2 | us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
16922 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
9.79 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
|
9498 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
61.23 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
|
4826 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
59.15 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
|
1386 | |
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
|
61.93 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
|
2494 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
|
59.86 | ||
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
991097 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
61.81 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
897278 | |
CY2021Q2 | us-gaap |
Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Outstanding Options Weighted Average Exercise Price Beginning Balance1
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
|
61.81 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
|
61.93 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
|
1036 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
|
58.39 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
991097 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
61.81 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
|
897278 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
53.41 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
438437 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
53.16 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
390868 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
46.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 | |
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
239050 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
79.43 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
|
195525 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
|
59.19 | ||
us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
73875 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
44.82 | ||
us-gaap |
Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
|
41935 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
|
16.23 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
|
17562 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
61.00 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
|
8315 | ||
us-gaap |
Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
|
60.23 | ||
us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
|
1536 | ||
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
|
53.41 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
438437 | |
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
53.16 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
|
390868 | |
CY2020Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
|
46.20 | |
CY2021Q2 | us-gaap |
Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Number Of Outstanding Options
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
|
991097 | |
us-gaap |
Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Outstanding Options Weighted Average Remaining Contractual Term2
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2
|
P4Y8M12D | ||
CY2021Q2 | us-gaap |
Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
|
18344000 | USD |
CY2021Q2 | us-gaap |
Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Number Of Exercisable Options
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
|
438437 | |
CY2021Q2 | us-gaap |
Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Exercisable Options Weighted Average Exercise Price1
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
|
53.16 | |
us-gaap |
Sharebased Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Exercisable Options Weighted Average Remaining Contractual Term2
SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageRemainingContractualTerm2
|
P3Y3M18D | ||
CY2021Q2 | us-gaap |
Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Intrinsic Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
|
11908000 | USD |
CY2021Q2 | us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Stock Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
|
11200000 | USD |
us-gaap |
Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
|
P2Y2M12D | ||
CY2021Q2 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1200000 | USD |
CY2020Q2 | us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
800000 | USD |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
2200000 | USD | |
us-gaap |
Allocated Share Based Compensation Expense
AllocatedShareBasedCompensationExpense
|
1600000 | USD |