Quarterly report pursuant to Section 13 or 15(d)

Note 12 - Stock-based Compensation (Details Textual)

v3.23.3
Note 12 - Stock-based Compensation (Details Textual)
$ / shares in Units, $ in Millions
1 Months Ended 9 Months Ended
Jun. 30, 2021
shares
May 31, 2023
USD ($)
shares
Oct. 31, 2023
USD ($)
$ / shares
shares
Share-Based Compensation Arrangement by Share-Based Payment Award, Option, Nonvested, Weighted Average Exercise Price (in dollars per share) | $ / shares     $ 67.23
Share-Based Payment Arrangement, Option [Member]      
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount | $     $ 2.4
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)     1 year 7 months 6 days
Restricted Stock Units (RSUs) [Member]      
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount | $     $ 44.6
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)     2 years 9 months 18 days
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Right To Receive Shares     1
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)   14,500 451,158 [1]
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Canceled in Period (in shares)   19,400  
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Modification, Remaining Life of Award (Year)   2 years  
Restricted Stock Units (RSUs) [Member] | Minimum [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)     3 years
Restricted Stock Units (RSUs) [Member] | Maximum [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)     4 years
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Modification, Quarterly Expense Over Remaining Life of Award | $   $ 0.1  
Market-based Restricted Stock Units (MBRSUs) [Member]      
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount | $     $ 5.7
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)     10 months 24 days
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)     117,250
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Canceled in Period (in shares)   14,500 19,400 [2]
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Modification, Remaining Life of Award (Year)   2 years  
Market-based Restricted Stock Units (MBRSUs) [Member] | Minimum [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)     3 years
Market-based Restricted Stock Units (MBRSUs) [Member] | Maximum [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year)     4 years
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Modification, Quarterly Expense Over Remaining Life of Award | $   $ 0.1  
Time-based Restricted Stock Units (TBRSUs) [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)   19,400  
The 2020 Omnibus Incentive Plan [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) 655,295    
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized, Annual Increase, Percentage 5.00%    
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares)     149,600
The 2020 Omnibus Incentive Plan [Member] | Share-Based Payment Arrangement, Option [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period (Year) 4 years    
Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period (Year) 10 years    
The 2020 Omnibus Incentive Plan [Member] | Share-Based Payment Arrangement, Option [Member] | Days Following Termination of Employment or Service [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period (Year) 90 days    
The 2020 Omnibus Incentive Plan [Member] | Share-Based Payment Arrangement, Option [Member] | Months Following Optionees Death or Disability [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period (Year) 12 months    
[1] In May 2023, 14,500 shares were granted to replace 19,400 shares of market-based RSUs. This modification resulted in stock-based compensation expense increasing by less than $0.1 million per quarter over a two-year period.
[2] In May 2023, 14,500 shares of market-based RSUs were canceled and replaced with 19,400 shares of time-based RSUs. This modification resulted in stock-based compensation expense increasing by less than $0.1 million per quarter over a two-year period.