XML 44 R30.htm IDEA: XBRL DOCUMENT v3.22.0.1
Note 2 - Summary of Significant Accounting Policies (Tables)
12 Months Ended
Dec. 31, 2021
Notes Tables  
Schedule of Accrued Liabilities [Table Text Block]
  

December 31,

 
  

2021

  

2020

 

Accrued liabilities:

        

Accrued bonus

 $3,716  $3,747 

Accrued vacation payable

  2,900   2,328 

Foreign currency forward contracts

  661   1,150 

Finance lease liabilities

  475   375 

Workers compensation reserves

  366   237 

Other

  16,380   8,977 

Total accrued liabilities

 $24,498  $16,814 
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]
  

Year Ended December 31,

 
  

2021

  

2020

  

2019

 
             

Net income

 $11,523  $19,050  $27,902 
             

Basic weighted-average common shares outstanding

  9,854   9,788   9,741 

Effect of potentially dilutive common shares (1)

  74   85   38 

Diluted weighted-average common shares outstanding

  9,928   9,873   9,779 
             

Net income per common share

            

Basic

 $1.17  $1.95  $2.86 

Diluted

 $1.16  $1.93  $2.85