XML 62 R44.htm IDEA: XBRL DOCUMENT
v3.25.0.1

ACCUMULATED OTHER COMPREHENSIVE INCOME (LOSS) (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2024
ACCUMULATED OTHER COMPREHENSIVE INCOME (LOSS) [ABSTRACT] |
Schedule of accumulated other comprehensive income (loss) | The following table presents changes in the accumulated balance for each component of Other comprehensive income (loss), including current period other comprehensive income (loss) and reclassifications out of accumulated other comprehensive income (loss) (in thousands):
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ |  | Foreign |  | ​ | ​ |  | ​ | ​ |  | ​ | ​ |
​ | ​ | Currency | ​ | Derivative | ​ | ​ | ​ | ​ | ​ | ​ |
​ | ​ | Translation | ​ | Valuation, Net | ​ | Other, Net | ​ | ​ | ​ |
​ | ​ | Adjustment | ​ | of Tax | ​ | of Tax | ​ | Totals |
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at December 31, 2021 | ​ | $ | (95,547) | ​ | $ | (40) | ​ | $ | (2,839) | ​ | $ | (98,426) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Other comprehensive income (loss) before reclassifications | ​ |  | (28,187) | ​ |  | (2,023) | ​ |  | 18 | ​ |  | (30,192) | ​
Amounts reclassified from accumulated other comprehensive income (loss) | ​ |  | — | ​ |  | 2,152 | ​ |  | 165 | ​ |  | 2,317 | ​
Net current period other comprehensive (income) loss | ​ |  | (28,187) | ​ |  | 129 | ​ |  | 183 | ​ |  | (27,875) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at December 31, 2022 | ​ | $ | (123,734) | ​ | $ | 89 | ​ | $ | (2,656) | ​ | $ | (126,301) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at December 31, 2022 | ​ | $ | (123,734) |  | $ | 89 |  | $ | (2,656) |  | $ | (126,301) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Other comprehensive income (loss) before reclassifications | ​ |  | 30,891 | ​ |  | 9,160 | ​ |  | (39) | ​ |  | 40,012 | ​
Amounts reclassified from accumulated other comprehensive income (loss) | ​ |  | (301) | ​ |  | (2,934) | ​ |  | (352) | ​ |  | (3,587) | ​
Net current period other comprehensive income (loss) | ​ |  | 30,590 | ​ |  | 6,226 | ​ |  | (391) | ​ |  | 36,425 | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at December 31, 2023 | ​ | $ | (93,144) |  | $ | 6,315 |  | $ | (3,047) |  | $ | (89,876) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at December 31, 2023 | ​ | $ | (93,144) |  | $ | 6,315 |  | $ | (3,047) |  | $ | (89,876) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Other comprehensive income (loss) before reclassifications | ​ |  | (30,677) | ​ |  | (9,988) | ​ |  | 31 | ​ |  | (40,634) | ​
Amounts reclassified from accumulated other comprehensive income (loss) | ​ |  | — | ​ |  | (1,910) | ​ |  | 299 | ​ |  | (1,611) | ​
Net current period other comprehensive income (loss) | ​ |  | (30,677) | ​ |  | (11,898) | ​ |  | 330 | ​ |  | (42,245) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at December 31, 2024 | ​ | $ | (123,821) |  | $ | (5,583) |  | $ | (2,717) |  | $ | (132,121) | ​
Schedule of reclassifications from Accumulated other comprehensive income (loss) | The following table presents the classification and amount of the reclassifications from Accumulated other comprehensive income (loss) to the Consolidated Statements of Comprehensive Income (Loss) (in thousands): ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | Statement of |
​ | ​ | For the Year Ended December 31, | ​ | Comprehensive Income |
​ |  | 2024 |  | 2023 |  | 2022 |  | (Loss) Classification |
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Derivative valuation | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
(Gain)/loss on foreign currency forward exchange contracts | ​ | $ | 2,582 | ​ | $ | 3,964 | ​ | $ | (2,906) |  | Revenue | ​
Tax effect | ​ |  | (672) | ​ |  | (1,030) | ​ |  | 754 |  | Provision for income taxes | ​
​ | ​ | $ | 1,910 | ​ | $ | 2,934 | ​ | $ | (2,152) |  | Net income (loss) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Other | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Actuarial loss on defined benefit plan | ​ | $ | (349) | ​ | $ | 391 | ​ | $ | (183) |  | Cost of services | ​
Gain on liquidation | ​ | ​ | 19 | ​ | ​ | — | ​ | ​ | — | ​ | Other income (expense), net | ​
Tax effect | ​ |  | 31 | ​ |  | (39) | ​ |  | 18 |  | Provision for income taxes | ​
​ | ​ | $ | (299) | ​ | $ | 352 | ​ | $ | (165) |  | Net income (loss) | ​
​

X
- References No definition available. + Details
Name: | us-gaap_AOCIAttributableToParentAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of information about items reclassified out of accumulated other comprehensive income (loss). + References No definition available. + Details
Name: | us-gaap_ReclassificationOutOfAccumulatedOtherComprehensiveIncomeTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the components of accumulated other comprehensive income (loss). + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 220 -SubTopic 10 -Section 45 -Paragraph 14A -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 830 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 830 -SubTopic 30 -Name Accounting Standards Codification -Section 45 -Paragraph 20 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20 + Details
Name: | us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration