Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($) shares in Thousands, $ in Thousands | Common Stock Outstanding [Member] | Additional Paid-in Capital [Member] | Treasury Stock [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Total |
Balances (in shares) at Dec. 31, 2017 | 32,112 | | 7,688 | | | |
Balances at Dec. 31, 2017 | $ 5 | $ 297,950 | $ (71,793) | $ (27,089) | $ (705) | $ 198,368 |
Issuance of common stock in connection with employee stock purchase plan (in shares) | 108 | | | | | |
Issuance of common stock in connection with employee stock purchase plan | | 1,007 | | | | 1,007 |
Issuance of common stock in connection with exercise of options (in shares) | 8 | | | | | |
Issuance of common stock in connection with exercise of options | | 39 | | | | 39 |
Vesting of restricted stock units (in shares) | 74 | | | | | |
Vesting of restricted stock units | | | | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares) | | | 36 | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants | | | $ (557) | | | (557) |
Repurchases of common stock (in shares) | (338) | | 338 | | | |
Repurchases of common stock | | | $ (4,123) | | | (4,123) |
Stock-based compensation | | 2,871 | | | | 2,871 |
Comprehensive income (loss) | | | | (424) | 525 | 101 |
Cumulative-effect adjustment from adoption of ASU 2014-09 at Dec. 31, 2017 | | | | 4,353 | | 4,353 |
Balances (in shares) at Mar. 31, 2018 | 31,964 | | 8,062 | | | |
Balances at Mar. 31, 2018 | $ 5 | 301,867 | $ (76,473) | (23,160) | (180) | 202,059 |
Balances (in shares) at Dec. 31, 2017 | 32,112 | | 7,688 | | | |
Balances at Dec. 31, 2017 | $ 5 | 297,950 | $ (71,793) | (27,089) | (705) | 198,368 |
Comprehensive income (loss) | | | | | | (5,016) |
Cumulative-effect adjustment from adoption of ASU 2014-09 at Dec. 31, 2017 | | | | 4,353 | | 4,353 |
Balances (in shares) at Sep. 30, 2018 | 32,257 | | 8,252 | | | |
Balances at Sep. 30, 2018 | $ 5 | 308,098 | $ (78,751) | (27,338) | (1,119) | 200,895 |
Balances (in shares) at Mar. 31, 2018 | 31,964 | | 8,062 | | | |
Balances at Mar. 31, 2018 | $ 5 | 301,867 | $ (76,473) | (23,160) | (180) | 202,059 |
Issuance of common stock in connection with exercise of options (in shares) | 51 | | | | | |
Issuance of common stock in connection with exercise of options | | 377 | | | | 377 |
Vesting of restricted stock units (in shares) | 159 | | | | | |
Vesting of restricted stock units | | | | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares) | | | 63 | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants | | | $ (819) | | | (819) |
Repurchases of common stock (in shares) | (99) | | 99 | | | |
Repurchases of common stock | | | $ (1,125) | | | (1,125) |
Stock-based compensation | | 2,699 | | | | 2,699 |
Comprehensive income (loss) | | | | (2,096) | (771) | (2,867) |
Balances (in shares) at Jun. 30, 2018 | 32,075 | | 8,224 | | | |
Balances at Jun. 30, 2018 | $ 5 | 304,943 | $ (78,417) | (25,256) | (951) | 200,324 |
Issuance of common stock in connection with employee stock purchase plan (in shares) | 92 | | | | | |
Issuance of common stock in connection with employee stock purchase plan | | 824 | | | | 824 |
Issuance of common stock in connection with exercise of options (in shares) | 9 | | | | | |
Issuance of common stock in connection with exercise of options | | 53 | | | | 53 |
Vesting of restricted stock units (in shares) | 81 | | | | | |
Vesting of restricted stock units | | | | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares) | | | 28 | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants | | | $ (334) | | | (334) |
Stock-based compensation | | 2,278 | | | | 2,278 |
Comprehensive income (loss) | | | | (2,082) | (168) | (2,250) |
Balances (in shares) at Sep. 30, 2018 | 32,257 | | 8,252 | | | |
Balances at Sep. 30, 2018 | $ 5 | 308,098 | $ (78,751) | (27,338) | (1,119) | 200,895 |
Balances (in shares) at Dec. 31, 2018 | 32,382 | | 8,295 | | | |
Balances at Dec. 31, 2018 | $ 5 | 310,660 | $ (79,142) | (30,452) | (1,276) | 199,795 |
Issuance of common stock in connection with employee stock purchase plan (in shares) | 87 | | | | | |
Issuance of common stock in connection with employee stock purchase plan | | 782 | | | | 782 |
Issuance of common stock in connection with exercise of options (in shares) | 87 | | | | | |
Issuance of common stock in connection with exercise of options | | 518 | | | | 518 |
Vesting of restricted stock units (in shares) | 104 | | | | | |
Vesting of restricted stock units | | | | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares) | | | 54 | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants | | | $ (557) | | | (557) |
Repurchases of common stock (in shares) | (314) | | 314 | | | |
Repurchases of common stock | | | $ (3,917) | | | (3,917) |
Stock-based compensation | | 3,469 | | | | 3,469 |
Comprehensive income (loss) | | | | (2,691) | (52) | (2,743) |
Balances (in shares) at Mar. 31, 2019 | 32,346 | | 8,663 | | | |
Balances at Mar. 31, 2019 | $ 5 | 315,429 | $ (83,616) | (33,143) | (1,328) | 197,347 |
Balances (in shares) at Dec. 31, 2018 | 32,382 | | 8,295 | | | |
Balances at Dec. 31, 2018 | $ 5 | 310,660 | $ (79,142) | (30,452) | (1,276) | $ 199,795 |
Issuance of common stock in connection with exercise of options (in shares) | | | | | | 217 |
Comprehensive income (loss) | | | | | | $ (4,565) |
Balances (in shares) at Sep. 30, 2019 | 32,350 | | 9,246 | | | |
Balances at Sep. 30, 2019 | $ 5 | 322,183 | $ (90,908) | (34,540) | (1,753) | 194,987 |
Balances (in shares) at Mar. 31, 2019 | 32,346 | | 8,663 | | | |
Balances at Mar. 31, 2019 | $ 5 | 315,429 | $ (83,616) | (33,143) | (1,328) | 197,347 |
Issuance of common stock in connection with exercise of options (in shares) | 69 | | | | | |
Issuance of common stock in connection with exercise of options | | 326 | | | | 326 |
Vesting of restricted stock units (in shares) | 176 | | | | | |
Vesting of restricted stock units | | | | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares) | | | 72 | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants | | | $ (918) | | | (918) |
Repurchases of common stock (in shares) | (300) | | 300 | | | |
Repurchases of common stock | | | $ (3,790) | | | (3,790) |
Stock-based compensation | | 2,601 | | | | 2,601 |
Comprehensive income (loss) | | | | (710) | 36 | (674) |
Balances (in shares) at Jun. 30, 2019 | 32,291 | | 9,035 | | | |
Balances at Jun. 30, 2019 | $ 5 | 318,356 | $ (88,324) | (33,853) | (1,292) | 194,892 |
Issuance of common stock in connection with employee stock purchase plan (in shares) | 85 | | | | | |
Issuance of common stock in connection with employee stock purchase plan | | 751 | | | | 751 |
Issuance of common stock in connection with exercise of options (in shares) | 53 | | | | | |
Issuance of common stock in connection with exercise of options | | 267 | | | | 267 |
Vesting of restricted stock units (in shares) | 92 | | | | | |
Vesting of restricted stock units | | | | | | |
Repurchases of common stock (in shares) | (171) | | 171 | | | |
Repurchases of common stock | | | $ (2,060) | | | (2,060) |
Stock-based compensation | | 2,809 | | | | 2,809 |
Comprehensive income (loss) | | | | (687) | (461) | (1,148) |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants and exercise of options (in shares) | | | 40 | | | |
Purchases of treasury stock in connection with tax withholdings on restricted stock grants and exercise of options | | | $ (524) | | | (524) |
Balances (in shares) at Sep. 30, 2019 | 32,350 | | 9,246 | | | |
Balances at Sep. 30, 2019 | $ 5 | $ 322,183 | $ (90,908) | $ (34,540) | $ (1,753) | $ 194,987 |