Consolidated Statements of Changes in Stockholders' Equity - USD ($) shares in Thousands, $ in Thousands | Total | Cumulative Effect, Period of Adoption, Adjustment [Member] | Common Stock [Member]Class A Common Stock [Member] | Common Stock [Member]Class B Common Stock [Member] | Additional Paid-In Capital [Member] | Accumulated Deficit [Member] | Accumulated Deficit [Member]Cumulative Effect, Period of Adoption, Adjustment [Member] | Accumulated Other Comprehensive Loss [Member] |
Beginning balance at Dec. 31, 2018 | $ 293,686 | | $ 4 | $ 3 | $ 379,832 | $ (74,863) | | $ (11,290) |
Beginning balance (in shares) at Dec. 31, 2018 | | | 38,349 | 32,171 | | | | |
Net income (loss) | 13,019 | | | | | 13,019 | | |
Exercise of stock options | 458 | | | | 458 | | | |
Exercise of stock options (in shares) | | | 397 | | | | | |
Vesting of restricted stock (in shares) | | | 14 | | | | | |
Stock-based compensation | 869 | | | | 869 | | | |
Foreign currency translation, net of tax | 337 | | | | | | | 337 |
Retirement related benefit plans, net of tax | 228 | | | | | | | 228 |
Ending balance at Mar. 31, 2019 | 308,597 | | $ 4 | $ 3 | 381,159 | (61,844) | | (10,725) |
Ending balance (in shares) at Mar. 31, 2019 | | | 38,760 | 32,171 | | | | |
Beginning balance at Dec. 31, 2018 | 293,686 | | $ 4 | $ 3 | 379,832 | (74,863) | | (11,290) |
Beginning balance (in shares) at Dec. 31, 2018 | | | 38,349 | 32,171 | | | | |
Net income (loss) | (6,040) | | | | | | | |
Foreign currency translation, net of tax | (1,046) | | | | | | | |
Retirement related benefit plans, net of tax | 376 | | | | | | | |
Ending balance at Sep. 30, 2019 | 343,341 | | $ 4 | $ 3 | 436,197 | (80,903) | | (11,960) |
Ending balance (in shares) at Sep. 30, 2019 | | | 40,354 | 31,391 | | | | |
Beginning balance at Mar. 31, 2019 | 308,597 | | $ 4 | $ 3 | 381,159 | (61,844) | | (10,725) |
Beginning balance (in shares) at Mar. 31, 2019 | | | 38,760 | 32,171 | | | | |
Net income (loss) | (3,120) | | | | | (3,120) | | |
Equity component of convertible senior notes,net of issuance costs | 50,009 | | | | 50,009 | | | |
Exercise of stock options | 812 | | | | 812 | | | |
Exercise of stock options (in shares) | | | 608 | | | | | |
Vesting of restricted stock (in shares) | | | 34 | | | | | |
Conversion from Class B to Class A common stock | | | 270 | (270) | | | | |
Stock-based compensation | 1,922 | | | | 1,922 | | | |
Foreign currency translation, net of tax | 1,605 | | | | | | | 1,605 |
Retirement related benefit plans, net of tax | 16 | | | | | | | 16 |
Ending balance at Jun. 30, 2019 | 359,841 | | $ 4 | $ 3 | 433,902 | (64,964) | | (9,104) |
Ending balance (in shares) at Jun. 30, 2019 | | | 39,672 | 31,901 | | | | |
Net income (loss) | (15,939) | | | | | (15,939) | | |
Exercise of stock options | 169 | | | | 169 | | | |
Exercise of stock options (in shares) | | | 165 | | | | | |
Vesting of restricted stock (in shares) | | | 7 | | | | | |
Conversion from Class B to Class A common stock | | | 510 | (510) | | | | |
Stock-based compensation | 2,126 | | | | 2,126 | | | |
Foreign currency translation, net of tax | (2,988) | | | | | | | (2,988) |
Retirement related benefit plans, net of tax | 132 | | | | | | | 132 |
Ending balance at Sep. 30, 2019 | 343,341 | | $ 4 | $ 3 | 436,197 | (80,903) | | (11,960) |
Ending balance (in shares) at Sep. 30, 2019 | | | 40,354 | 31,391 | | | | |
Beginning balance at Dec. 31, 2019 | 354,707 | $ (388) | $ 4 | $ 3 | 446,633 | (82,405) | $ (388) | (9,528) |
Beginning balance (in shares) at Dec. 31, 2019 | | | 41,271 | 31,131 | | | | |
Net income (loss) | 6,030 | | | | | 6,030 | | |
Exercise of stock options | 194 | | | | 194 | | | |
Exercise of stock options (in shares) | | | 285 | | | | | |
Vesting of restricted stock (in shares) | | | 143 | | | | | |
Conversion from Class B to Class A common stock | | | 80 | (80) | | | | |
Stock-based compensation | 3,043 | | | | 3,043 | | | |
Foreign currency translation, net of tax | (7,578) | | | | | | | (7,578) |
Retirement related benefit plans, net of tax | 137 | | | | | | | 137 |
Ending balance at Mar. 31, 2020 | 356,145 | | $ 4 | $ 3 | 449,870 | (76,763) | | (16,969) |
Ending balance (in shares) at Mar. 31, 2020 | | | 41,779 | 31,051 | | | | |
Beginning balance at Dec. 31, 2019 | 354,707 | $ (388) | $ 4 | $ 3 | 446,633 | (82,405) | $ (388) | (9,528) |
Beginning balance (in shares) at Dec. 31, 2019 | | | 41,271 | 31,131 | | | | |
Net income (loss) | (12,698) | | | | | | | |
Foreign currency translation, net of tax | (446) | | | | | | | |
Retirement related benefit plans, net of tax | 110 | | | | | | | |
Ending balance at Sep. 30, 2020 | 359,455 | | $ 4 | $ 3 | 464,803 | (95,491) | | (9,864) |
Ending balance (in shares) at Sep. 30, 2020 | | | 42,870 | 30,591 | | | | |
Beginning balance at Mar. 31, 2020 | 356,145 | | $ 4 | $ 3 | 449,870 | (76,763) | | (16,969) |
Beginning balance (in shares) at Mar. 31, 2020 | | | 41,779 | 31,051 | | | | |
Net income (loss) | (10,223) | | | | | (10,223) | | |
Exercise of stock options | 283 | | | | 283 | | | |
Exercise of stock options (in shares) | | | 197 | | | | | |
Vesting of restricted stock (in shares) | | | 52 | | | | | |
Conversion from Class B to Class A common stock | | | 80 | (80) | | | | |
Stock-based compensation | 4,586 | | | | 4,586 | | | |
Reclassification of mezzanine equity topermanent equity | 1,568 | | | | 1,568 | | | |
Foreign currency translation, net of tax | 2,560 | | | | | | | 2,560 |
Retirement related benefit plans, net of tax | 31 | | | | | | | 31 |
Ending balance at Jun. 30, 2020 | 354,950 | | $ 4 | $ 3 | 456,307 | (86,986) | | (14,378) |
Ending balance (in shares) at Jun. 30, 2020 | | | 42,108 | 30,971 | | | | |
Net income (loss) | (8,505) | | | | | (8,505) | | |
Issuance of common stock for acquisitions | 1,638 | | | | 1,638 | | | |
Issuance of common stock for acquisitions (in shares) | | | 40 | | | | | |
Exercise of stock options | 618 | | | | 618 | | | |
Exercise of stock options (in shares) | | | 328 | | | | | |
Vesting of restricted stock (in shares) | | | 14 | | | | | |
Conversion from Class B to Class A common stock | | | 380 | (380) | | | | |
Stock-based compensation | 6,240 | | | | 6,240 | | | |
Foreign currency translation, net of tax | 4,572 | | | | | | | 4,572 |
Retirement related benefit plans, net of tax | (58) | | | | | | | (58) |
Ending balance at Sep. 30, 2020 | $ 359,455 | | $ 4 | $ 3 | $ 464,803 | $ (95,491) | | $ (9,864) |
Ending balance (in shares) at Sep. 30, 2020 | | | 42,870 | 30,591 | | | | |