XML 51 R36.htm IDEA: XBRL DOCUMENT
v3.10.0.1

Note 13 - Stock-based Compensation (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2018
Notes Tables |
Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block] |
|  | Year Ended December 31, |
(in thousands) |  | 2018 |  |  | 2017 |  |  | 2016 |
Stock options and other |  | $ | 10,113 |  |  | $ | 7,954 |  |  | $ | 6,177 |
Employee stock purchase plan |  |  | 815 |  |  |  | 604 |  |  |  | 598 |
Total stock-based compensation expense |  | $ | 10,928 |  |  | $ | 8,558 |  |  | $ | 6,775 |
Cost of revenue |  | $ | 1,543 |  |  | $ | 970 |  |  | $ | 691 |
Operating expenses: |  |  |  |  |  |  |  |  |  |  |  |
Marketing and sales |  |  | 1,942 |  |  |  | 1,429 |  |  |  | 977 |
Research and development |  |  | 1,517 |  |  |  | 1,091 |  |  |  | 1,396 |
General and administrative |  |  | 5,926 |  |  |  | 5,068 |  |  |  | 3,711 |
Total stock-based compensation expense |  | $ | 10,928 |  |  | $ | 8,558 |  |  | $ | 6,775 |
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] |
|  | Year Ended December 31, |
|  | 2018 |  |  | 2017 |  |  | 2016 |
Risk-free interest rate |  | 2.52 - 3.07% |  |  | 2.24 - 2.36% |  |  | 1.53 - 2.68% |
Expected life (years) |  | 6.25 |  |  | 6.50 |  |  | 6.50 |
Expected volatility |  | 41.68 - 42.22% |  |  | 42.68 - 44.68% |  |  | 44.38 - 45.93% |
Expected dividend yield |  | 0% |  |  | 0% |  |  | 0% |
Weighted average grant date fair value |  | $50.08 |  |  | $32.26 |  |  | $26.61 |
Share-based Compensation, Stock Options, Activity [Table Text Block] |
|  |  |  |  |  | Weighted- |
|  |  |  |  |  | Average |
|  | Stock Options |  |  | Exercise Price |
Options outstanding at January 1, 2016 |  |  | 766,042 |  |  | $ | 36.52 |
Granted |  |  | 117,480 |  |  |  | 57.99 |
Exercised |  |  | (226,164 | ) |  |  | 16.65 |
Cancelled |  |  | (87,719 | ) |  |  | 61.41 |
Options outstanding at December 31, 2016 |  |  | 569,639 |  |  |  | 45.00 |
Granted |  |  | 60,100 |  |  |  | 69.06 |
Exercised |  |  | (187,313 | ) |  |  | 35.93 |
Cancelled |  |  | (43,371 | ) |  |  | 61.02 |
Options outstanding at December 31, 2017 |  |  | 399,055 |  |  |  | 51.13 |
Granted |  |  | 36,600 |  |  |  | 110.59 |
Exercised |  |  | (155,765 | ) |  |  | 38.92 |
Cancelled |  |  | (27,274 | ) |  |  | 74.35 |
Options outstanding at December 31, 2018 |  |  | 252,616 |  |  | $ | 64.71 |
Exercisable at December 31, 2018 |  |  | 125,925 |  |  | $ | 53.02 |
Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table Text Block] |
|  |  | Options Outstanding, Vested and Expected to Vest |  |  | Options Exercisable |
Range of Exercise Prices |  |  | Number Outstanding |  |  | Weighted Average Remaining Contractual Life |  |  | Weighted Average Exercise Price ($) |  |  | Number Exercisable |  |  | Weighted Average Exercise Price ($) |
$3.67 to $31.43 |  |  |  | 30,972 |  |  |  | 2.95 |  |  |  | 24.59 |  |  |  | 30,972 |  |  |  | 24.59 |
$31.44 to $66.87 |  |  |  | 133,492 |  |  |  | 5.36 |  |  |  | 58.52 |  |  |  | 69,210 |  |  |  | 58.78 |
$66.88 to $96.20 |  |  |  | 51,894 |  |  |  | 5.55 |  |  |  | 72.49 |  |  |  | 25,743 |  |  |  | 71.73 |
$96.21 to $123.10 |  |  |  | 36,258 |  |  |  | 9.23 |  |  |  | 110.59 |  |  |  | 0 |  |  |  | 0.00 |
Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block] |
|  |  |  |  |  | Weighted- |
|  |  |  |  |  | Average |
|  |  |  |  |  | Grant Date |
|  | Restricted |  |  | Fair Value |
|  | Stock Awards |  |  | Per Share |
Restricted stock at January 1, 2016 |  |  | 124,393 |  |  | $ | 68.97 |
Granted |  |  | 161,555 |  |  |  | 59.37 |
Restrictions lapsed |  |  | (41,415 | ) |  |  | 67.78 |
Forfeited |  |  | (29,428 | ) |  |  | 63.23 |
Restricted stock at December 31, 2016 |  |  | 215,105 |  |  |  | 62.78 |
Granted |  |  | 210,744 |  |  |  | 63.70 |
Restrictions lapsed |  |  | (60,102 | ) |  |  | 63.60 |
Forfeited |  |  | (30,916 | ) |  |  | 61.99 |
Restricted stock at December 31, 2017 |  |  | 334,831 |  |  |  | 63.29 |
Granted |  |  | 106,855 |  |  |  | 115.41 |
Restrictions lapsed |  |  | (86,191 | ) |  |  | 63.64 |
Forfeited |  |  | (31,574 | ) |  |  | 68.67 |
Restricted stock at December 31, 2018 |  |  | 323,921 |  |  | $ | 79.85 |
Schedule of Nonvested Performance-based Units Activity [Table Text Block] |
|  |  |  |  |  | Weighted- |
|  |  |  |  |  | Average |
|  |  |  |  |  | Grant Date |
|  | Performance |  |  | Fair Value |
|  | Stock Awards |  |  | Per Share |
Performance stock at January 1, 2016 |  |  | - |  |  | $ | - |
Granted |  |  | - |  |  |  | - |
Restrictions lapsed |  |  | - |  |  |  | - |
Forfeited |  |  | - |  |  |  | - |
Performance stock at December 31, 2016 |  |  | - |  |  |  | - |
Granted |  |  | 25,707 |  |  |  | 58.35 |
Restrictions lapsed |  |  | - |  |  |  | - |
Forfeited |  |  | - |  |  |  | - |
Performance stock at December 31, 2017 |  |  | 25,707 |  |  |  | 58.35 |
Granted |  |  | 20,006 |  |  |  | 105.75 |
Restrictions lapsed |  |  | - |  |  |  | - |
Performance assumption change |  |  | 6,427 |  |  |  | 58.35 |
Forfeited |  |  | - |  |  |  | - |
Performance stock at December 31, 2018 |  |  | 52,140 |  |  | $ | 76.54 |
Schedule of Share-based Payment Award, Employee Stock Purchase Plan, Valuation Assumptions [Table Text Block] |
|  | Year ended December 31, |
|  | 2018 |  |  | 2017 |  |  | 2016 |
Risk-free interest rate |  | 2.06 - 2.33% |  |  | 0.97 - 1.48% |  |  | 0.56 - 0.59% |
Expected life (months) |  | 6.00 |  |  | 6.00 |  |  | 6.00 |
Expected volatility |  | 31.50 - 37.36% |  |  | 24.49 - 34.51% |  |  | 39.51 - 49.13% |
Expected dividend yield |  | 0% |  |  | 0% |  |  | 0% |

X
- Definition Tabular disclosure of the amount of total share-based compensation cost, including the amounts attributable to each share-based compensation plan and any related tax benefits. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (h)(1) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the changes in outstanding nonvested performance-based units. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(2) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (e) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (c)(1) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the significant assumptions used during the year to estimate the fair value of employee stock purchase plans, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (f)(2) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 718 -SubTopic 10 -Section 50 -Paragraph 2 -Subparagraph (f)(2) -URI http://asc.fasb.org/extlink&oid=109197908&loc=d3e5070-113901 + Details
Name: | us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year. + References No definition available. + Details
Name: | us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_TableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration