Consolidated Statements of Shareholders' Equity - USD ($) $ in Thousands | Total | COMMON STOCK | RETAINED EARNINGS | ACCUMULATED OTHER COMPREHENSIVE LOSS |
Balance at beginning of period (shares) at Apr. 30, 2018 | | 17,503,922 | | |
Balance at beginning of period at Apr. 30, 2018 | $ 581,665 | $ 361,158 | $ 269,576 | $ (49,069) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | 24,767 | | 24,767 | |
Other comprehensive loss, net of tax | 307 | | | 307 |
Stock-based compensation | 786 | $ 786 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes (shares) | | 43,048 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes | (1,241) | $ (1,241) | | |
Employee benefit plan contributions (shares) | | 41,408 | | |
Employee benefit plan contributions | 3,623 | $ 3,623 | | |
Balance at end of period (shares) at Jul. 31, 2018 | | 17,588,378 | | |
Balance at end of period at Jul. 31, 2018 | 609,907 | $ 364,326 | 294,343 | (48,762) |
Balance at beginning of period (shares) at Apr. 30, 2018 | | 17,503,922 | | |
Balance at beginning of period at Apr. 30, 2018 | 581,665 | $ 361,158 | 269,576 | (49,069) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | $ 43,255 | | | |
Stock repurchases (shares) | (189,633) | | | |
Balance at end of period (shares) at Oct. 31, 2018 | | 17,404,625 | | |
Balance at end of period at Oct. 31, 2018 | $ 616,339 | $ 361,560 | 303,234 | (48,455) |
Balance at beginning of period (shares) at Jul. 31, 2018 | | 17,588,378 | | |
Balance at beginning of period at Jul. 31, 2018 | 609,907 | $ 364,326 | 294,343 | (48,762) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | 18,488 | | 18,488 | |
Other comprehensive loss, net of tax | 307 | | | 307 |
Stock-based compensation | $ 836 | $ 836 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes (shares) | | 5,880 | | |
Stock repurchases (shares) | (189,633) | (189,633) | | |
Stock repurchases | $ (13,199) | $ (3,602) | (9,597) | |
Balance at end of period (shares) at Oct. 31, 2018 | | 17,404,625 | | |
Balance at end of period at Oct. 31, 2018 | $ 616,339 | $ 361,560 | 303,234 | (48,455) |
Balance at beginning of period (shares) at Apr. 30, 2019 | 16,849,026 | 16,849,026 | | |
Balance at beginning of period at Apr. 30, 2019 | $ 620,353 | $ 352,424 | 317,420 | (49,491) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | 26,881 | | 26,881 | |
Other comprehensive loss, net of tax | 315 | | | 315 |
Stock-based compensation | 897 | $ 897 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes (shares) | | 20,923 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes | (1,050) | $ (1,050) | | |
Employee benefit plan contributions (shares) | | 45,721 | | |
Employee benefit plan contributions | 3,772 | $ 3,772 | | |
Balance at end of period (shares) at Jul. 31, 2019 | | 16,915,670 | | |
Balance at end of period at Jul. 31, 2019 | $ 651,168 | $ 356,043 | 344,301 | (49,176) |
Balance at beginning of period (shares) at Apr. 30, 2019 | 16,849,026 | 16,849,026 | | |
Balance at beginning of period at Apr. 30, 2019 | $ 620,353 | $ 352,424 | 317,420 | (49,491) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | $ 49,044 | | | |
Stock repurchases (shares) | 0 | | | |
Balance at end of period (shares) at Oct. 31, 2019 | 16,921,547 | 16,921,547 | | |
Balance at end of period at Oct. 31, 2019 | $ 674,908 | $ 357,304 | 366,464 | (48,860) |
Balance at beginning of period (shares) at Jul. 31, 2019 | | 16,915,670 | | |
Balance at beginning of period at Jul. 31, 2019 | 651,168 | $ 356,043 | 344,301 | (49,176) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | 22,163 | | 22,163 | |
Other comprehensive loss, net of tax | 316 | | | 316 |
Stock-based compensation | 1,178 | $ 1,178 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes (shares) | | 5,877 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes | $ 83 | $ 83 | | |
Stock repurchases (shares) | 0 | | | |
Balance at end of period (shares) at Oct. 31, 2019 | 16,921,547 | 16,921,547 | | |
Balance at end of period at Oct. 31, 2019 | $ 674,908 | $ 357,304 | $ 366,464 | $ (48,860) |