Note K - Stock-based Compensation - Information Regarding Currently Outstanding and Exercisable Options (Details) - $ / shares
|
12 Months Ended |
Dec. 31, 2016 |
Dec. 31, 2015 |
| Exercised (in dollars per share) |
$ 4.78
|
|
| Options outstanding, number of shares (in shares) |
1,990,260
|
1,397,511
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 98 days
|
8 years 211 days
|
| Exercisable, number of options (in shares) |
637,492
|
|
| Exercisable, weighted average remaining contractual term (Year) |
6 years 284 days
|
|
| Exercise Price Range One [Member] |
|
|
| Exercised (in dollars per share) |
$ 0.75
|
|
| Options outstanding, number of shares (in shares) |
12,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
182 days
|
|
| Exercisable, number of options (in shares) |
12,000
|
|
| Exercisable, weighted average remaining contractual term (Year) |
182 days
|
|
| Exercise Price Range Two [Member] |
|
|
| Exercised (in dollars per share) |
$ 3
|
|
| Options outstanding, number of shares (in shares) |
20,666
|
|
| Outstanding, weighted average remaining contractual term (Year) |
1 year 197 days
|
|
| Exercisable, number of options (in shares) |
20,666
|
|
| Exercisable, weighted average remaining contractual term (Year) |
1 year 197 days
|
|
| Exercise Price Range Three [Member] |
|
|
| Exercised (in dollars per share) |
$ 3.80
|
|
| Options outstanding, number of shares (in shares) |
99,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 295 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Four [Member] |
|
|
| Exercised (in dollars per share) |
$ 4.65
|
|
| Options outstanding, number of shares (in shares) |
35,994
|
|
| Outstanding, weighted average remaining contractual term (Year) |
2 years 21 days
|
|
| Exercisable, number of options (in shares) |
35,994
|
|
| Exercisable, weighted average remaining contractual term (Year) |
2 years 21 days
|
|
| Exercise Price Range Five [Member] |
|
|
| Exercised (in dollars per share) |
$ 5.85
|
|
| Options outstanding, number of shares (in shares) |
298,661
|
|
| Outstanding, weighted average remaining contractual term (Year) |
6 years 94 days
|
|
| Exercisable, number of options (in shares) |
261,661
|
|
| Exercisable, weighted average remaining contractual term (Year) |
6 years 25 days
|
|
| Exercise Price Range Six [Member] |
|
|
| Exercised (in dollars per share) |
$ 6.05
|
|
| Options outstanding, number of shares (in shares) |
50,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 146 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Seven [Member] |
|
|
| Exercised (in dollars per share) |
$ 8.63
|
|
| Options outstanding, number of shares (in shares) |
21,306
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 43 days
|
|
| Exercisable, number of options (in shares) |
10,826
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 54 days
|
|
| Exercise Price Range Eight [Member] |
|
|
| Exercised (in dollars per share) |
$ 11
|
|
| Options outstanding, number of shares (in shares) |
21,333
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 91 days
|
|
| Exercisable, number of options (in shares) |
5,333
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 91 days
|
|
| Exercise Price Range Nine [Member] |
|
|
| Exercised (in dollars per share) |
$ 11.41
|
|
| Options outstanding, number of shares (in shares) |
88,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 149 days
|
|
| Exercisable, number of options (in shares) |
88,000
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 149 days
|
|
| Exercise Price Range Ten [Member] |
|
|
| Exercised (in dollars per share) |
$ 12.62
|
|
| Options outstanding, number of shares (in shares) |
340,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 40 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Eleven [Member] |
|
|
| Exercised (in dollars per share) |
$ 13.96
|
|
| Options outstanding, number of shares (in shares) |
22,500
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 47 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Twelve [Member] |
|
|
| Exercised (in dollars per share) |
$ 16.06
|
|
| Options outstanding, number of shares (in shares) |
12,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 94 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Thirteen [Member] |
|
|
| Exercised (in dollars per share) |
$ 16.25
|
|
| Options outstanding, number of shares (in shares) |
98,750
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 62 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Fourteen [Member] |
|
|
| Exercised (in dollars per share) |
$ 16.31
|
|
| Options outstanding, number of shares (in shares) |
13,500
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 62 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Fifteen [Member] |
|
|
| Exercised (in dollars per share) |
$ 16.61
|
|
| Options outstanding, number of shares (in shares) |
11,250
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 339 days
|
|
| Exercisable, number of options (in shares) |
2,812
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 339 days
|
|
| Exercise Price Range Sixteen [Member] |
|
|
| Exercised (in dollars per share) |
$ 17.93
|
|
| Options outstanding, number of shares (in shares) |
4,500
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 98 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Seventeen [Member] |
|
|
| Exercised (in dollars per share) |
$ 18.10
|
|
| Options outstanding, number of shares (in shares) |
140,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 105 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Eighteen [Member] |
|
|
| Exercised (in dollars per share) |
$ 18.29
|
|
| Options outstanding, number of shares (in shares) |
205,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 175 days
|
|
| Exercisable, number of options (in shares) |
51,250
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 175 days
|
|
| Exercise Price Range Nineteen [Member] |
|
|
| Exercised (in dollars per share) |
$ 18.38
|
|
| Options outstanding, number of shares (in shares) |
54,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
9 years 102 days
|
|
| Exercisable, number of options (in shares) |
|
|
| Exercisable, weighted average remaining contractual term (Year) |
|
|
| Exercise Price Range Twenty [Member] |
|
|
| Exercised (in dollars per share) |
$ 18.61
|
|
| Options outstanding, number of shares (in shares) |
32,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 237 days
|
|
| Exercisable, number of options (in shares) |
8,000
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 237 days
|
|
| Exercise Price Range Twenty One [Member] |
|
|
| Exercised (in dollars per share) |
$ 19.02
|
|
| Options outstanding, number of shares (in shares) |
62,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 237 days
|
|
| Exercisable, number of options (in shares) |
54,000
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 237 days
|
|
| Exercise Price Range Twenty Two [Member] |
|
|
| Exercised (in dollars per share) |
$ 20.45
|
|
| Options outstanding, number of shares (in shares) |
335,000
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 248 days
|
|
| Exercisable, number of options (in shares) |
83,750
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 248 days
|
|
| Exercise Price Range Twenty Three [Member] |
|
|
| Exercised (in dollars per share) |
$ 21.37
|
|
| Options outstanding, number of shares (in shares) |
6,400
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 251 days
|
|
| Exercisable, number of options (in shares) |
1,600
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 251 days
|
|
| Exercise Price Range Twenty Four [Member] |
|
|
| Exercised (in dollars per share) |
$ 22.12
|
|
| Options outstanding, number of shares (in shares) |
6,400
|
|
| Outstanding, weighted average remaining contractual term (Year) |
8 years 255 days
|
|
| Exercisable, number of options (in shares) |
1,600
|
|
| Exercisable, weighted average remaining contractual term (Year) |
8 years 255 days
|
|