Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($) shares in Thousands, $ in Thousands | Common Stock Including Additional Paid in Capital [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Total |
Balance (in shares) at Dec. 31, 2021 | 31,327 | | | |
Balance at Dec. 31, 2021 | $ 270,791 | $ 68,122 | $ 106 | $ 339,019 |
Net income | 0 | 2,893 | 0 | 2,893 |
Comprehensive income (loss) | 0 | 0 | 272 | 272 |
Stock-based compensation | $ 774 | 0 | 0 | 774 |
Common stock issued under stock plans, net of shares withheld for employee taxes (in shares) | 83 | | | |
Common stock issued under stock plans, net of shares withheld for employee taxes | $ (497) | 0 | 0 | (497) |
Repurchase of common stock (in shares) | (892) | | | |
Repurchase of common stock | $ (19,889) | 0 | 0 | (19,889) |
Balance (in shares) at Mar. 31, 2022 | 30,518 | | | |
Balance at Mar. 31, 2022 | $ 251,179 | 71,015 | 378 | 322,572 |
Balance (in shares) at Dec. 31, 2021 | 31,327 | | | |
Balance at Dec. 31, 2021 | $ 270,791 | 68,122 | 106 | 339,019 |
Net income | | | | 9,642 |
Comprehensive income (loss) | | | | (1,522) |
Balance (in shares) at Sep. 30, 2022 | 30,573 | | | |
Balance at Sep. 30, 2022 | $ 253,934 | 77,764 | (1,416) | 330,282 |
Balance (in shares) at Mar. 31, 2022 | 30,518 | | | |
Balance at Mar. 31, 2022 | $ 251,179 | 71,015 | 378 | 322,572 |
Net income | 0 | 3,083 | 0 | 3,083 |
Comprehensive income (loss) | 0 | 0 | (780) | (780) |
Stock-based compensation | $ 917 | 0 | 0 | 917 |
Common stock issued under stock plans, net of shares withheld for employee taxes (in shares) | 2 | | | |
Common stock issued under stock plans, net of shares withheld for employee taxes | $ (1) | 0 | 0 | (1) |
Repurchase of common stock (in shares) | (159) | | | |
Repurchase of common stock | $ (3,143) | 0 | 0 | (3,143) |
Balance (in shares) at Jun. 30, 2022 | 30,570 | | | |
Balance at Jun. 30, 2022 | $ 253,036 | 74,098 | (402) | 326,732 |
Issuance of common stock in acquisition (in shares) | 209 | | | |
Issuance of common stock in acquisition | $ 4,084 | 0 | 0 | 4,084 |
Net income | 0 | 3,666 | 0 | 3,666 |
Comprehensive income (loss) | 0 | 0 | (1,014) | (1,014) |
Stock-based compensation | $ 918 | 0 | 0 | 918 |
Common stock issued under stock plans, net of shares withheld for employee taxes (in shares) | 3 | | | |
Common stock issued under stock plans, net of shares withheld for employee taxes | $ (20) | 0 | 0 | (20) |
Balance (in shares) at Sep. 30, 2022 | 30,573 | | | |
Balance at Sep. 30, 2022 | $ 253,934 | 77,764 | (1,416) | 330,282 |
Balance (in shares) at Dec. 31, 2022 | 30,579 | | | |
Balance at Dec. 31, 2022 | $ 254,832 | 80,213 | (981) | 334,064 |
Net income | 0 | 2,623 | 0 | 2,623 |
Comprehensive income (loss) | 0 | 0 | (35) | (35) |
Dividends declared on common stock ($0.025 per share) | | (767) | | (767) |
Stock-based compensation | $ 945 | 0 | 0 | 945 |
Common stock issued under stock plans, net of shares withheld for employee taxes (in shares) | 103 | | | |
Common stock issued under stock plans, net of shares withheld for employee taxes | $ (791) | 0 | 0 | (791) |
Balance (in shares) at Mar. 31, 2023 | 30,682 | | | |
Balance at Mar. 31, 2023 | $ 254,986 | 82,069 | (1,016) | 336,039 |
Balance (in shares) at Dec. 31, 2022 | 30,579 | | | |
Balance at Dec. 31, 2022 | $ 254,832 | 80,213 | (981) | 334,064 |
Net income | | | | 10,623 |
Comprehensive income (loss) | | | | (258) |
Balance (in shares) at Sep. 30, 2023 | 30,590 | | | |
Balance at Sep. 30, 2023 | $ 254,950 | 88,535 | (1,239) | 342,246 |
Balance (in shares) at Mar. 31, 2023 | 30,682 | | | |
Balance at Mar. 31, 2023 | $ 254,986 | 82,069 | (1,016) | 336,039 |
Net income | 0 | 4,133 | 0 | 4,133 |
Comprehensive income (loss) | 0 | 0 | 127 | 127 |
Dividends declared on common stock ($0.025 per share) | 0 | (767) | 0 | (767) |
Stock-based compensation | $ 1,093 | 0 | 0 | 1,093 |
Common stock issued under stock plans, net of shares withheld for employee taxes (in shares) | 4 | | | |
Common stock issued under stock plans, net of shares withheld for employee taxes | $ (6) | 0 | 0 | (6) |
Balance (in shares) at Jun. 30, 2023 | 30,686 | | | |
Balance at Jun. 30, 2023 | $ 256,073 | 85,435 | (889) | 340,619 |
Net income | 0 | 3,867 | 0 | 3,867 |
Comprehensive income (loss) | 0 | 0 | (350) | (350) |
Dividends declared on common stock ($0.025 per share) | 0 | (767) | 0 | (767) |
Stock-based compensation | $ 1,038 | 0 | 0 | 1,038 |
Common stock issued under stock plans, net of shares withheld for employee taxes (in shares) | 3 | | | |
Common stock issued under stock plans, net of shares withheld for employee taxes | $ (20) | 0 | 0 | (20) |
Repurchase of common stock (in shares) | (99) | | | |
Repurchase of common stock | $ (2,141) | 0 | 0 | (2,141) |
Balance (in shares) at Sep. 30, 2023 | 30,590 | | | |
Balance at Sep. 30, 2023 | $ 254,950 | $ 88,535 | $ (1,239) | $ 342,246 |