Stockholders' Equity Note Disclosure [Text Block] | Stockholders' Equity The following table illustrates the changes in the balances of each component of stockholders' equity for the three months ended October 31, 2020: Common Stock Additional Retained Earnings Treasury Stock Accumulated Other Comprehensive Loss Total Balances at July 31, 2020 $ 548 $ 331,761 $ 704,456 $ (107,216) $ (66,477) $ 863,072 Net income — — 33,481 — — 33,481 Other comprehensive loss, net of tax — — — — (3,191) (3,191) Issuance of shares of Class A Common Stock under stock plan — (3,246) — 790 — (2,456) Tax benefit and withholdings from deferred compensation distributions — 32 — — — 32 Stock-based compensation expense — 3,574 — — — 3,574 Repurchase of shares of Class A Common Stock — — — (2,720) — (2,720) Cash dividends on Common Stock: Class A — $0.22 per share — — (10,671) — — (10,671) Class B — $0.20 per share — — (720) — — (720) Balances at October 31, 2020 $ 548 $ 332,121 $ 726,546 $ (109,146) $ (69,668) $ 880,401 The following table illustrates the changes in the balances of each component of stockholders' equity for the three months ended October 31, 2019: Common Stock Additional Retained Earnings Treasury Stock Accumulated Other Comprehensive Loss Total Balances at July 31, 2019 $ 548 $ 329,969 $ 637,843 $ (46,332) $ (71,254) $ 850,774 Net income — — 37,498 — — 37,498 Other comprehensive loss, net of tax — — — — (29) (29) Issuance of shares of Class A Common Stock under stock plan — (6,410) — 2,553 — (3,857) Tax benefit and withholdings from deferred compensation distributions — 64 — — — 64 Stock-based compensation expense — 3,618 — — — 3,618 Repurchase of shares of Class A Common Stock — — — — — — Cash dividends on Common Stock: Class A — $0.22 per share — — (10,822) — — (10,822) Class B — $0.20 per share — — (711) — — (711) Balances at October 31, 2019 $ 548 $ 327,241 $ 663,808 $ (43,779) $ (71,283) $ 876,535 Incentive Stock Plans The Company has an incentive stock plan under which the Board of Directors may grant nonqualified stock options to purchase shares of Class A Nonvoting Common Stock, restricted stock units ("RSUs"), or restricted and unrestricted shares of Class A Nonvoting Common Stock to employees and non-employee directors. Certain awards may be subject to pre-established performance goals. The majority of the Company’s annual share-based awards are granted in the first quarter of the fiscal year. Total stock-based compensation expense recognized during the three months ended October 31, 2020 and 2019, was $3,574 ($3,300 net of taxes) and $3,618 ($3,089 net of taxes), respectively. As of October 31, 2020, total unrecognized compensation cost related to share-based awards was $14,460 pre-tax, net of estimated forfeitures, which the Company expects to recognize over a weighted-average period of 2.2 years. Stock Options The stock options issued under the plan have an exercise price equal to the fair market value of the underlying stock at the date of grant and generally vest ratably over a three-year period, with one-third becoming exercisable one year after the grant date and one-third additional in each of the succeeding two years. Options issued under the plan, referred to herein as “time-based” options, generally expire 10 years from the date of grant. The Company has estimated the fair value of its time-based option awards granted during the three months ended October 31, 2020 and 2019, using the Black-Scholes option valuation model. The weighted-average assumptions used in the Black-Scholes valuation model are reflected in the following table: Three months ended October 31, Black-Scholes Option Valuation Assumptions 2020 2019 Expected term (in years) 6.21 6.20 Expected volatility 30.71 % 25.85 % Expected dividend yield 2.49 % 2.63 % Risk-free interest rate 0.38 % 1.64 % Weighted-average market value of underlying stock at grant date $ 39.92 $ 54.05 Weighted-average exercise price $ 39.92 $ 54.05 Weighted-average fair value of options granted during the period $ 8.65 $ 10.63 The following is a summary of stock option activity for the three months ended October 31, 2020: Time-Based Options Options Outstanding Weighted Average Exercise Price Weighted Average Aggregate Outstanding at July 31, 2020 1,273,382 $ 37.84 New grants 303,052 39.92 Exercised (22,300) 29.10 Forfeited or expired — — Outstanding at October 31, 2020 1,554,134 $ 38.37 7.2 $ 5,410 Exercisable at October 31, 2020 1,004,641 $ 34.88 6.1 $ 5,410 The total fair value of stock options vested during the three months ended October 31, 2020 and 2019, was $2,371 and $2,537, respectively. The total intrinsic value of stock options exercised during the three months ended October 31, 2020 and 2019, based upon the average market price at the time of exercise during the period, was $373 and $10,225, respectively. The cash received from the exercise of stock options during the three months ended October 31, 2020 and 2019, was $160 and $3,411, respectively. The tax benefit from the exercise of stock options during the three months ended October 31, 2020 and 2019, was $93 and $2,541, respectively. RSUs RSUs issued under the plan have a grant date fair value equal to the fair market value of the underlying stock at the date of grant. Shares issued under the plan are referred to herein as either "time-based" or "performance-based" RSUs. The time-based RSUs issued under the plan generally vest ratably over a three-year period, with one-third vesting one year after the grant date and one-third additional in each of the succeeding two years. The performance-based RSUs granted under the plan vest at the end of a three-year service period provided specified financial performance metrics are met. The following tables summarize the RSU activity for the three months ended October 31, 2020: Time-Based RSUs Shares Weighted Average Grant Date Fair Value Outstanding at July 31, 2020 154,960 $ 47.39 New grants 75,352 39.92 Vested (63,339) 44.85 Forfeited — — Outstanding at October 31, 2020 166,973 $ 44.98 The time-based RSUs granted during the three months ended October 31, 2019, had a weighted-average grant date fair value of $54.10. Performance-Based RSUs Shares Weighted Average Grant Date Fair Value Outstanding at July 31, 2020 126,060 $ 50.61 New grants (1) 64,634 60.73 Vested (1) (71,413) 33.12 Forfeited — — Outstanding at October 31, 2020 119,281 $ 61.05 (1) Includes 23,805 shares granted and vested during the three months ended October 31, 2020, resulting from the payout of performance-based RSUs granted in fiscal year 2018 due to achievement of performance metrics exceeding the target payout. The performance-based RSUs granted during the three months ended October 31, 2020, had a weighted-average grant-date fair value determined by a third-party valuation involving the use of a Monte Carlo simulation. The performance-based RSUs granted during the three months ended October 31, 2019, had a weighted-average grant date fair value of $75.00. |