XML 48 R35.htm IDEA: XBRL DOCUMENT v3.21.2
Description of Business and Summary of Significant Accounting Policies (Tables)
12 Months Ended
Jul. 31, 2021
Accounting Policies [Abstract]  
Schedule of Weighted-average Number of Shares Used in the Calculation of Basic and Diluted Earnings Per Share

 

Year ended July 31 (in thousands)  2021   2020 
Basic weighted-average number of shares   25,495    26,278 
Effect of dilutive securities:          
Stock options   229    1 
Non-vested restricted Class B common stock   329    162 
Diluted weighted-average number of shares   26,053    26,441 
Schedule of Outstanding Stock Options Excluded from the Calculation of Diluted Earnings Per Share

 

Year ended July 31 (in thousands)  2021   2020 
Shares excluded from the calculation of diluted earnings per share   535    1,138 
Schedule Of Changes In Allowance For Doubtful Accounts

 

Year ended July 31 (in thousands)  Balance at beginning of year   Additions charged to costs and expenses   Deductions (1)   Balance at end of year 
2021                    
Reserves deducted from accounts receivable:                    
Allowance for doubtful accounts  $6,085   $1,782   $(3,429)  $4,438 
2020                    
Reserves deducted from accounts receivable:                    
Allowance for doubtful accounts  $5,444   $3,109   $(2,468)  $6,085 

 

(1) Primarily uncollectible accounts written off, net of recoveries.