CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($) shares in Thousands, $ in Thousands | Common Stock | Treasury Stock | Additional Paid-in Capital | Retained Earnings | Accumulated Other Comprehensive (Loss) Income Net of Income Taxes | Total |
Balance at Dec. 31, 2021 | $ 162 | $ (1,802) | $ 717,228 | $ 84,249 | $ (771) | $ 799,066 |
Balance (in shares) at Dec. 31, 2021 | 162,347 | 50 | | | | |
Foreign currency translation adjustment | | | | | (1,570) | (1,570) |
Shares repurchased for settlement of employee tax withholdings | | $ (1,058) | | | | (1,058) |
Shares repurchased for settlement of employee tax withholdings (in shares) | | 41 | | | | |
Stock-based compensation expense | | | 10,994 | | | 10,994 |
Common stock issued to non-employees (in shares) | 4 | | | | | |
Common stock issued upon exercise of stock options | $ 1 | | 1,677 | | | 1,678 |
Common stock issued upon exercise of stock options (in shares) | 572 | | | | | |
Common stock issued upon vesting of restricted stock units (in shares) | 195 | | | | | |
Net Income | | | | 4,579 | | 4,579 |
Balance at Mar. 31, 2022 | $ 163 | $ (2,860) | 729,899 | 88,828 | (2,341) | 813,689 |
Balance (in shares) at Mar. 31, 2022 | 163,118 | 91 | | | | |
Balance at Dec. 31, 2021 | $ 162 | $ (1,802) | 717,228 | 84,249 | (771) | 799,066 |
Balance (in shares) at Dec. 31, 2021 | 162,347 | 50 | | | | |
Foreign currency translation adjustment | | | | | | (11,834) |
Net Income | | | | | | 25,200 |
Balance at Sep. 30, 2022 | $ 165 | $ (1,002) | 744,008 | 109,449 | (12,605) | 840,015 |
Balance (in shares) at Sep. 30, 2022 | 164,733 | 37 | | | | |
Balance at Mar. 31, 2022 | $ 163 | $ (2,860) | 729,899 | 88,828 | (2,341) | 813,689 |
Balance (in shares) at Mar. 31, 2022 | 163,118 | 91 | | | | |
Foreign currency translation adjustment | | | | | (5,634) | (5,634) |
Shares repurchased for settlement of employee tax withholdings | | $ (8,133) | | | | (8,133) |
Shares repurchased for settlement of employee tax withholdings (in shares) | | 320 | | | | |
Stock-based compensation expense | | | 9,517 | | | 9,517 |
Common stock issued under employee purchase plan | | | 768 | | | 768 |
Common stock issued under employee purchase plan (in shares) | 41 | | | | | |
Common stock issued upon exercise of stock options | | | 838 | | | 838 |
Common stock issued upon exercise of stock options (in shares) | 176 | | | | | |
Common stock issued upon vesting of restricted stock units | $ 1 | | (1) | | | |
Common stock issued upon vesting of restricted stock units (in shares) | 798 | | | | | |
Treasury stock reissued upon settlement of equity awards | | $ 3,447 | (3,447) | | | |
Treasury stock reissued upon settlement of equity awards (in shares) | | (128) | | | | |
Net Income | | | | 10,290 | | 10,290 |
Balance at Jun. 30, 2022 | $ 164 | $ (7,546) | 737,574 | 99,118 | (7,975) | 821,335 |
Balance (in shares) at Jun. 30, 2022 | 164,133 | 283 | | | | |
Foreign currency translation adjustment | | | | | (4,630) | (4,630) |
Shares repurchased for settlement of employee tax withholdings | | $ (492) | | | | (492) |
Shares repurchased for settlement of employee tax withholdings (in shares) | | 19 | | | | |
Stock-based compensation expense | | | 11,080 | | | 11,080 |
Common stock issued upon exercise of stock options | $ 1 | | 2,390 | | | 2,391 |
Common stock issued upon exercise of stock options (in shares) | 490 | | | | | |
Common stock issued upon vesting of restricted stock units (in shares) | 110 | | | | | |
Treasury stock reissued upon settlement of equity awards | | $ 7,036 | (7,036) | | | |
Treasury stock reissued upon settlement of equity awards (in shares) | | (265) | | | | |
Net Income | | | | 10,331 | | 10,331 |
Balance at Sep. 30, 2022 | $ 165 | $ (1,002) | 744,008 | 109,449 | (12,605) | 840,015 |
Balance (in shares) at Sep. 30, 2022 | 164,733 | 37 | | | | |
Balance at Dec. 31, 2022 | $ 165 | $ (796) | 756,299 | 127,517 | (6,326) | 876,859 |
Balance (in shares) at Dec. 31, 2022 | 165,448 | 31 | | | | |
Foreign currency translation adjustment | | | | | 1,193 | 1,193 |
Shares repurchased for settlement of employee tax withholdings | | $ (787) | | | | (787) |
Shares repurchased for settlement of employee tax withholdings (in shares) | | 30 | | | | |
Stock-based compensation expense | | | 11,992 | | | 11,992 |
Common stock issued upon exercise of stock options | $ 1 | | 1,765 | | | 1,766 |
Common stock issued upon exercise of stock options (in shares) | 527 | | | | | |
Common stock issued upon vesting of restricted stock units (in shares) | 182 | | | | | |
Treasury stock reissued upon settlement of equity awards | | $ 914 | (914) | | | |
Treasury stock reissued upon settlement of equity awards (in shares) | | (35) | | | | |
Net Income | | | | 12,175 | | 12,175 |
Balance at Mar. 31, 2023 | $ 166 | $ (669) | 769,142 | 139,692 | (5,133) | 903,198 |
Balance (in shares) at Mar. 31, 2023 | 166,157 | 26 | | | | |
Balance at Dec. 31, 2022 | $ 165 | $ (796) | 756,299 | 127,517 | (6,326) | 876,859 |
Balance (in shares) at Dec. 31, 2022 | 165,448 | 31 | | | | |
Foreign currency translation adjustment | | | | | | $ (5,601) |
Common stock issued upon exercise of stock options (in shares) | | | | | | 1,942 |
Net Income | | | | | | $ 38,361 |
Balance at Sep. 30, 2023 | $ 170 | $ (397) | 857,561 | 165,878 | (11,927) | 1,011,285 |
Balance (in shares) at Sep. 30, 2023 | 169,918 | 13 | | | | |
Balance at Mar. 31, 2023 | $ 166 | $ (669) | 769,142 | 139,692 | (5,133) | 903,198 |
Balance (in shares) at Mar. 31, 2023 | 166,157 | 26 | | | | |
Foreign currency translation adjustment | | | | | (377) | (377) |
Shares repurchased for settlement of employee tax withholdings | | $ (1,966) | | | | (1,966) |
Shares repurchased for settlement of employee tax withholdings (in shares) | | 57 | | | | |
Stock-based compensation expense | | | 15,399 | | | 15,399 |
Common stock issued under employee purchase plan | | | 1,138 | | | 1,138 |
Common stock issued under employee purchase plan (in shares) | 49 | | | | | |
Common stock issued upon exercise of stock options | $ 1 | | 3,990 | | | 3,991 |
Common stock issued upon exercise of stock options (in shares) | 711 | | | | | |
Common stock issued upon vesting of restricted stock units (in shares) | 333 | | | | | |
Treasury stock reissued upon settlement of equity awards | | $ 2,107 | (2,107) | | | |
Treasury stock reissued upon settlement of equity awards (in shares) | | (67) | | | | |
Net Income | | | | 12,839 | | 12,839 |
Balance at Jun. 30, 2023 | $ 167 | $ (528) | 787,562 | 152,531 | (5,510) | 934,222 |
Balance (in shares) at Jun. 30, 2023 | 167,250 | 16 | | | | |
Foreign currency translation adjustment | | | | | (6,417) | (6,417) |
Shares repurchased for settlement of employee tax withholdings (in shares) | | 28 | | | | |
Shares repurchased for settlement of employee tax withholdings | | $ (945) | | | | (945) |
Issuance of common stock as consideration for acquisition | $ 2 | | 52,935 | | | 52,937 |
Issuance of common stock as consideration for acquisition (in shares) | 1,642 | | | | | |
Stock-based compensation expense | | | 16,088 | | | 16,088 |
Common stock issued upon exercise of stock options | $ 1 | | 2,052 | | | 2,053 |
Common stock issued upon exercise of stock options (in shares) | 653 | | | | | |
Common stock issued upon vesting of restricted stock units (in shares) | 373 | | | | | |
Treasury stock reissued upon settlement of equity awards | | $ 1,076 | (1,076) | | | |
Treasury stock reissued upon settlement of equity awards (in shares) | | (31) | | | | |
Net Income | | | | 13,347 | | 13,347 |
Balance at Sep. 30, 2023 | $ 170 | $ (397) | $ 857,561 | $ 165,878 | $ (11,927) | $ 1,011,285 |
Balance (in shares) at Sep. 30, 2023 | 169,918 | 13 | | | | |