v3.26.1
Comprehensive Income (Loss) (Tables)
6 Months Ended
Jun. 30, 2026
Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent, Alternative [Abstract]  
Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]
A summary of the components of Accumulated other comprehensive income (loss) is as follows (in thousands):
Three months ended June 30, 2026Foreign Currency TranslationNet Unrealized Gain (Loss) on Available-for-Sale SecuritiesTotal
Balance as of April 1, 2026$(557)$(136)$(693)
Other comprehensive loss(979)(946)(1,925)
Balance as of June 30, 2026$(1,536)$(1,082)$(2,618)
Three months ended June 30, 2025Foreign Currency TranslationNet Unrealized Gain on Available-for-Sale SecuritiesTotal
Balance as of April 1, 2025$(1,761)$1,046 $(715)
Other comprehensive income3,202 170 3,372 
Balance as of June 30, 2025$1,441 $1,216 $2,657 
Six Months Ended June 30, 2026Foreign Currency TranslationNet Unrealized Gain (Loss) on Available-for-Sale SecuritiesTotal
Balance as of January 1, 2026$720 $1,377 $2,097 
Other comprehensive loss(2,256)(2,459)(4,715)
Balance as of June 30, 2026$(1,536)$(1,082)$(2,618)
Six Months Ended June 30, 2025Foreign Currency TranslationNet Unrealized Gain on Available-for-Sale SecuritiesTotal
Balance as of January 1, 2025$(3,113)$501 $(2,612)
Other comprehensive income4,554 715 5,269 
Balance as of June 30, 2025$1,441 $1,216 $2,657