XML 44 R31.htm IDEA: XBRL DOCUMENT
v3.25.2

ACCUMULATED OTHER COMPREHENSIVE INCOME (LOSS) (Tables) | 6 Months Ended
--- | ---
Jun. 30, 2025
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, 2023 | ​ | $ | (93,144) |  | $ | 6,315 |  | $ | (3,047) |  | $ | (89,876) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Other comprehensive income (loss) before reclassifications | ​ |  | (11,132) | ​ |  | (5,315) | ​ |  | 19 | ​ |  | (16,428) | ​
Amounts reclassified from accumulated other comprehensive income (loss) | ​ |  | — | ​ |  | (1,470) | ​ |  | 193 | ​ |  | (1,277) | ​
Net current period other comprehensive income (loss) | ​ |  | (11,132) | ​ |  | (6,785) | ​ |  | 212 | ​ |  | (17,705) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at June 30, 2024 | ​ | $ | (104,276) |  | $ | (470) |  | $ | (2,835) |  | $ | (107,581) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at December 31, 2024 | ​ | $ | (123,821) |  | $ | (5,583) |  | $ | (2,717) |  | $ | (132,121) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Other comprehensive income (loss) before reclassifications | ​ |  | 22,480 | ​ | ​ | 5,580 | ​ | ​ | 27 | ​ |  | 28,087 | ​
Amounts reclassified from accumulated other comprehensive income (loss) | ​ |  | — | ​ | ​ | (359) | ​ | ​ | 244 | ​ |  | (115) | ​
Net current period other comprehensive income (loss) | ​ |  | 22,480 | ​ |  | 5,221 | ​ |  | 271 | ​ |  | 27,972 | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Accumulated other comprehensive income (loss) at June 30, 2025 | ​ | $ | (101,341) |  | $ | (362) |  | $ | (2,446) |  | $ | (104,149) | ​
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 Statement of Comprehensive Income (Loss) (in thousands):
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | Statement of | ​
​ | ​ | For the Three Months Ended June 30, | ​ | Comprehensive Income | ​
​ |  | 2025 |  | 2024 |  | (Loss) Classification | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Derivative valuation | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Gain on foreign currency forward exchange contracts | ​ | $ | 659 | ​ | $ | 364 |  | Revenue | ​
Tax effect | ​ |  | (171) | ​ |  | (95) |  | Provision for income taxes | ​
​ | ​ | $ | 488 | ​ | $ | 269 |  | Net income (loss) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Other | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Actuarial loss on defined benefit plan | ​ | $ | (213) | ​ | $ | (110) |  | Cost of services | ​
Gain on liquidation | ​ | ​ | — | ​ | ​ | 19 | ​ | Other income (expense), net | ​
Tax effect | ​ |  | 21 | ​ |  | 11 |  | Provision for income taxes | ​
​ | ​ | $ | (192) | ​ | $ | (80) |  | Net income (loss) | ​
​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | Statement of |
​ | ​ | For the Six Months Ended June 30, | ​ | Comprehensive Income |
​ |  | 2025 |  | 2024 |  | (Loss) Classification |
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Derivative valuation | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Gain on foreign currency forward exchange contracts | ​ | $ | 485 | ​ | $ | 1,988 |  | Revenue | ​
Tax effect | ​ |  | (126) | ​ |  | (518) |  | Provision for income taxes | ​
​ | ​ | $ | 359 | ​ | $ | 1,470 |  | Net income (loss) | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Other | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Actuarial loss on defined benefit plan | ​ | $ | (271) | ​ | $ | (231) |  | Cost of services | ​
Gain on liquidation | ​ | ​ | — | ​ | ​ | 19 | ​ | Other income (expense), net | ​
Tax effect | ​ |  | 27 | ​ |  | 19 |  | Provision for income taxes | ​
​ | ​ | $ | (244) | ​ | $ | (193) |  | 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