Stock-Based Compensation - Narrative (Details) - USD ($) $ in Thousands |
3 Months Ended | ||
|---|---|---|---|
Oct. 31, 2020 |
Oct. 31, 2019 |
Jul. 31, 2020 |
|
| Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
| Outstanding unvested restricted stock shares (in shares) | 763,315 | 411,715 | |
| Outstanding options (in shares) | 0 | 15,000 | |
| Total unrecognized stock-based compensation cost | $ 36,996 | ||
| Remaining weighted average period for unrecognized compensation cost | 21 months | ||
| Deduction in income tax due to exercise of options and vesting of restricted stock | $ 1,698 | $ 2,022 | |
| Reduction in income tax expense over the equity awards' vesting period | 2,778 | 2,581 | |
| Excess tax expense (benefit) | $ 1,080 | $ 559 | |
| 2016 Plan | |||
| Share-based Compensation Arrangement by Share-based Payment Award [Line Items] | |||
| Outstanding unvested restricted stock shares (in shares) | 763,315 | ||
| Outstanding options (in shares) | 0 | ||
| Shares available under Plan (in shares) | 51,760 | ||