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, 2019 | | 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 | | |
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 | | | |
Balance at end of period (shares) at Oct. 31, 2019 | | 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 | | |
Stock repurchases | 0 | | | |
Balance at end of period (shares) at Oct. 31, 2019 | | 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 Apr. 30, 2020 | 16,926,537 | 16,926,537 | | |
Balance at beginning of period at Apr. 30, 2020 | $ 700,538 | $ 359,430 | 392,281 | (51,173) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | 16,485 | | 16,485 | |
Other comprehensive loss, net of tax | 327 | | | 327 |
Stock-based compensation | 961 | $ 961 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes (shares) | | 16,212 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes | (534) | $ (534) | | |
Employee benefit plan contributions (shares) | | 45,591 | | |
Employee benefit plan contributions | 3,743 | $ 3,743 | | |
Balance at end of period (shares) at Jul. 31, 2020 | | 16,988,340 | | |
Balance at end of period at Jul. 31, 2020 | $ 721,520 | $ 363,600 | 408,766 | (50,846) |
Balance at beginning of period (shares) at Apr. 30, 2020 | 16,926,537 | 16,926,537 | | |
Balance at beginning of period at Apr. 30, 2020 | $ 700,538 | $ 359,430 | 392,281 | (51,173) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | $ 38,741 | | | |
Stock repurchases (shares) | 0 | | | |
Balance at end of period (shares) at Oct. 31, 2020 | 16,993,260 | 16,993,260 | | |
Balance at end of period at Oct. 31, 2020 | $ 745,194 | $ 364,689 | 431,022 | (50,517) |
Balance at beginning of period (shares) at Jul. 31, 2020 | | 16,988,340 | | |
Balance at beginning of period at Jul. 31, 2020 | 721,520 | $ 363,600 | 408,766 | (50,846) |
Increase (Decrease) in Stockholders' Equity [Roll Forward] | | | | |
Net income | 22,256 | | 22,256 | |
Other comprehensive loss, net of tax | 329 | | | 329 |
Stock-based compensation | 1,266 | $ 1,266 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes (shares) | | 4,920 | | |
Exercise of stock-based compensation awards, net of amounts withheld for taxes | $ (177) | $ (177) | | |
Balance at end of period (shares) at Oct. 31, 2020 | 16,993,260 | 16,993,260 | | |
Balance at end of period at Oct. 31, 2020 | $ 745,194 | $ 364,689 | $ 431,022 | $ (50,517) |