XML 67 R50.htm IDEA: XBRL DOCUMENT v3.22.0.1
Stockholders' Equity, Stock Plans and Stock-based Compensation Expense - Options Outstanding and Exercisable Price Ranges (Details)
12 Months Ended
Dec. 31, 2021
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price, lower range limit (in dollars per share) | $ / shares $ 10.79
Exercise price, upper range limit (in dollars per share) | $ / shares $ 47.40
Number outstanding (in shares) 287,175
Contractual life 4 years 11 months 1 day
Number exercisable (in shares) 83,855
Exercise Price Range 1  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price, lower range limit (in dollars per share) | $ / shares $ 10.79
Exercise price, upper range limit (in dollars per share) | $ / shares $ 14.04
Number outstanding (in shares) 25,480
Contractual life 1 year 11 months 19 days
Number exercisable (in shares) 25,480
Exercise Price Range 2  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 14.10
Number outstanding (in shares) 60,000
Contractual life 3 years 7 months 2 days
Number exercisable (in shares) 16,000
Exercise Price Range 3  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 15.32
Number outstanding (in shares) 2,396
Contractual life 6 months 21 days
Number exercisable (in shares) 2,396
Exercise Price Range 4  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 18.55
Number outstanding (in shares) 1,000
Contractual life 2 years 25 days
Number exercisable (in shares) 1,000
Exercise Price Range 5  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 18.93
Number outstanding (in shares) 11,088
Contractual life 8 years 9 months 29 days
Number exercisable (in shares) 3,234
Exercise Price Range 6  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 25.70
Number outstanding (in shares) 6,000
Contractual life 2 years 7 months 2 days
Number exercisable (in shares) 6,000
Exercise Price Range 7  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 29.28
Number outstanding (in shares) 93,844
Contractual life 6 years 3 months 25 days
Number exercisable (in shares) 0
Exercise Price Range 8  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 32.87
Number outstanding (in shares) 57,622
Contractual life 6 years 1 month 13 days
Number exercisable (in shares) 0
Exercise Price Range 9  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 39.30
Number outstanding (in shares) 25,000
Contractual life 2 years 9 months 29 days
Number exercisable (in shares) 25,000
Exercise Price Range 10  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Exercise price (in dollars per share) | $ / shares $ 47.40
Number outstanding (in shares) 4,745
Contractual life 2 years 11 months 15 days
Number exercisable (in shares) 4,745