2020 Q4 Form 10-K Financial Statement

#000155837021001985 Filed on February 26, 2021

View on sec.gov

Income Statement

Concept 2020 Q4 2020 2019 Q4
Revenue $264.9M $934.8M $170.6M
YoY Change 55.25% 30.99% 17.0%
Cost Of Revenue $65.70M $237.0M $42.60M
YoY Change 54.23% 34.05% 15.76%
Gross Profit $199.2M $697.8M $128.1M
YoY Change 55.57% 29.98% 17.4%
Gross Profit Margin 75.21% 74.65% 75.06%
Selling, General & Admin $160.4M $563.7M $108.5M
YoY Change 47.83% 26.43% 21.5%
% of Gross Profit 80.51% 80.77% 84.72%
Research & Development $900.0K $2.800M $900.0K
YoY Change 0.0% 3.7%
% of Gross Profit 0.45% 0.4% 0.7%
Depreciation & Amortization $2.000M $4.316M $1.200M
YoY Change 66.67% -6.66% 33.33%
% of Gross Profit 1.0% 0.62% 0.94%
Operating Expenses $161.2M $566.5M $109.3M
YoY Change 47.48% 26.29% 22.53%
Operating Profit $38.04M $134.2M $18.77M
YoY Change 102.68% 47.36% -5.65%
Interest Expense $0.00 $246.0K $200.0K
YoY Change -100.0% -81.0% -50.0%
% of Operating Profit 0.0% 0.18% 1.07%
Other Income/Expense, Net -$200.0K $106.0K $0.00
YoY Change -91.99%
Pretax Income $37.85M $134.3M $18.98M
YoY Change 99.41% 45.37% -5.89%
Income Tax $9.900M $31.41M -$900.0K
% Of Pretax Income 26.16% 23.39% -4.74%
Net Earnings $27.99M $102.9M $19.88M
YoY Change 40.81% 32.01% 27.01%
Net Earnings / Revenue 10.57% 11.0% 11.65%
Basic Earnings Per Share $2.38 $8.74 $1.71
Diluted Earnings Per Share $2.36 $8.68 $1.66
COMMON SHARES
Basic Shares Outstanding 11.77M 11.77M shares 11.62M
Diluted Shares Outstanding 11.85M shares

Balance Sheet

Concept 2020 Q4 2020 2019 Q4
SHORT-TERM ASSETS
Cash & Short-Term Investments $338.2M $174.5M $169.7M
YoY Change 99.35% 88.24% -6.99%
Cash & Equivalents $163.7M $163.7M $76.97M
Short-Term Investments $174.5M $10.80M $92.68M
Other Short-Term Assets $5.900M $5.900M $6.100M
YoY Change -3.28% -3.28% 32.61%
Inventory $53.39M $53.40M $48.77M
Prepaid Expenses
Receivables $584.0K $600.0K $1.437M
Other Receivables $0.00 $0.00 $5.200M
Total Short-Term Assets $234.3M $234.3M $154.2M
YoY Change 52.0% 51.95% 5.93%
LONG-TERM ASSETS
Property, Plant & Equipment $27.63M $38.10M $26.04M
YoY Change 6.12% -1.8% 31.86%
Goodwill
YoY Change
Intangibles
YoY Change
Long-Term Investments
YoY Change
Other Assets $2.937M $3.600M $353.0K
YoY Change 732.01% 111.76% -70.16%
Total Long-Term Assets $41.77M $41.80M $40.50M
YoY Change 3.13% 3.21% 69.39%
TOTAL ASSETS
Total Short-Term Assets $234.3M $234.3M $154.2M
Total Long-Term Assets $41.77M $41.80M $40.50M
Total Assets $276.1M $276.1M $194.7M
YoY Change 41.83% 41.81% 14.89%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $107.7M $35.80M $76.20M
YoY Change 41.34% 58.41% 26.37%
Accrued Expenses $3.700M $54.10M $3.200M
YoY Change 15.63% 39.79%
Deferred Revenue $7.606M $4.333M
YoY Change 75.54% 54.92%
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due
YoY Change
Total Short-Term Liabilities $111.4M $111.4M $79.39M
YoY Change 40.26% 40.3% 31.6%
LONG-TERM LIABILITIES
Long-Term Debt $0.00 $0.00 $0.00
YoY Change
Other Long-Term Liabilities $7.500M $7.500M $10.40M
YoY Change -27.88% -27.88%
Total Long-Term Liabilities $7.500M $7.500M $10.40M
YoY Change -27.88% -27.88%
TOTAL LIABILITIES
Total Short-Term Liabilities $111.4M $111.4M $79.39M
Total Long-Term Liabilities $7.500M $7.500M $10.40M
Total Liabilities $118.8M $118.8M $89.82M
YoY Change 32.31% 32.29% 48.9%
SHAREHOLDERS EQUITY
Retained Earnings $154.4M $168.8M
YoY Change -8.55% 28.51%
Common Stock $12.00K $12.00K
YoY Change 0.0% 0.0%
Preferred Stock
YoY Change
Treasury Stock (at cost)
YoY Change
Treasury Stock Shares
Shareholders Equity $157.2M $157.2M $104.8M
YoY Change
Total Liabilities & Shareholders Equity $276.1M $276.1M $194.7M
YoY Change 41.83% 41.81% 14.89%

Cashflow Statement

Concept 2020 Q4 2020 2019 Q4
OPERATING ACTIVITIES
Net Income $27.99M $102.9M $19.88M
YoY Change 40.81% 32.01% 27.01%
Depreciation, Depletion And Amortization $2.000M $4.316M $1.200M
YoY Change 66.67% -6.66% 33.33%
Cash From Operating Activities $19.80M $145.2M $19.20M
YoY Change 3.12% 72.32% 25.49%
INVESTING ACTIVITIES
Capital Expenditures -$2.000M $5.887M -$900.0K
YoY Change 122.22% -41.47% -47.06%
Acquisitions
YoY Change
Other Investing Activities $2.600M $4.600M $0.00
YoY Change 24.32% -100.0%
Cash From Investing Activities $600.0K -$1.282M -$800.0K
YoY Change -175.0% -79.74% 100.0%
FINANCING ACTIVITIES
Cash Dividend Paid $53.19M
YoY Change 50.27%
Common Stock Issuance & Retirement, Net $5.000M
YoY Change -84.9%
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities -13.10M -$57.14M -22.50M
YoY Change -41.78% -30.59% 41.51%
NET CHANGE
Cash From Operating Activities 19.80M $145.2M 19.20M
Cash From Investing Activities 600.0K -$1.282M -800.0K
Cash From Financing Activities -13.10M -$57.14M -22.50M
Net Change In Cash 7.300M $86.75M -4.100M
YoY Change -278.05% -2076.06% 310.0%
FREE CASH FLOW
Cash From Operating Activities $19.80M $145.2M $19.20M
Capital Expenditures -$2.000M $5.887M -$900.0K
Free Cash Flow $21.80M $139.3M $20.10M
YoY Change 8.46% 87.74% 18.24%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2018 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
196000
CY2020 dei Local Phone Number
LocalPhoneNumber
581-8042
CY2020 dei Security12b Title
Security12bTitle
Common Stock, $0.001 par value per share
CY2018 us-gaap Cost Of Revenue
CostOfRevenue
121104000
CY2020 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2020
CY2020 dei Entity Central Index Key
EntityCentralIndexKey
0000910329
CY2020 dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
CY2020 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2020 dei Amendment Flag
AmendmentFlag
false
CY2020 us-gaap Lessee Operating Lease Existence Of Option To Extend
LesseeOperatingLeaseExistenceOfOptionToExtend
true
CY2020 dei Entity Filer Category
EntityFilerCategory
Large Accelerated Filer
CY2020 dei Document Type
DocumentType
10-K
CY2020 dei Document Annual Report
DocumentAnnualReport
true
CY2020 dei Document Period End Date
DocumentPeriodEndDate
2020-12-31
CY2020 dei Document Transition Report
DocumentTransitionReport
false
CY2020 dei Entity File Number
EntityFileNumber
001-31573
CY2020 dei Entity Registrant Name
EntityRegistrantName
Medifast, Inc.
CY2020 dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
DE
CY2020 dei Entity Tax Identification Number
EntityTaxIdentificationNumber
13-3714405
CY2020 dei Entity Address Address Line1
EntityAddressAddressLine1
100 International Drive
CY2020 dei Entity Address City Or Town
EntityAddressCityOrTown
Baltimore
CY2020 dei Entity Address State Or Province
EntityAddressStateOrProvince
MD
CY2020 dei Entity Address Postal Zip Code
EntityAddressPostalZipCode
21202
CY2020 dei City Area Code
CityAreaCode
410
CY2020 dei Trading Symbol
TradingSymbol
MED
CY2020 dei Security Exchange Name
SecurityExchangeName
NYSE
CY2020 dei Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
Yes
CY2020 dei Entity Voluntary Filers
EntityVoluntaryFilers
No
CY2020 dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
CY2020 dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2020 dei Entity Small Business
EntitySmallBusiness
false
CY2020 dei Entity Small Business
EntitySmallBusiness
false
CY2020 dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
CY2020 dei Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
true
CY2020 dei Entity Shell Company
EntityShellCompany
false
CY2020Q2 dei Entity Public Float
EntityPublicFloat
1500000000
CY2021Q1 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
11774446
CY2020 us-gaap Revenues
Revenues
934842000
CY2019 us-gaap Revenues
Revenues
713672000
CY2018 us-gaap Revenues
Revenues
501003000
CY2020 us-gaap Cost Of Revenue
CostOfRevenue
237027000
CY2019 us-gaap Cost Of Revenue
CostOfRevenue
176814000
CY2020 us-gaap Gross Profit
GrossProfit
697815000
CY2019 us-gaap Gross Profit
GrossProfit
536858000
CY2018 us-gaap Gross Profit
GrossProfit
379899000
CY2020 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
563656000
CY2019 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
445819000
CY2018 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
310836000
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
134159000
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
91039000
CY2018 us-gaap Operating Income Loss
OperatingIncomeLoss
69063000
CY2020 us-gaap Interest Income Expense Nonoperating Net
InterestIncomeExpenseNonoperatingNet
246000
CY2019 us-gaap Interest Income Expense Nonoperating Net
InterestIncomeExpenseNonoperatingNet
1295000
CY2018 us-gaap Interest Income Expense Nonoperating Net
InterestIncomeExpenseNonoperatingNet
1306000
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-140000
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
29000
CY2018 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
179000
CY2020 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
106000
CY2019 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
1324000
CY2018 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
1485000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
134265000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
92363000
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
70548000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
31406000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
14447000
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
14759000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
102859000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
77916000
CY2018 us-gaap Net Income Loss
NetIncomeLoss
55789000
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
8.74
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
6.62
CY2018 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
4.67
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
8.68
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
6.43
CY2018 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
4.62
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
11771000
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
11771000
CY2018 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
11947000
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
11850000
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
12117000
CY2018 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
12079000
CY2020 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
4.52
CY2019 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
3.38
CY2018 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
2.19
CY2020 us-gaap Net Income Loss
NetIncomeLoss
102859000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
77916000
CY2018 us-gaap Net Income Loss
NetIncomeLoss
55789000
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-21000
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
1000
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-2000
CY2020 us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
37000
CY2019 us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
197000
CY2018 us-gaap Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
-11000
CY2020 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
16000
CY2019 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
198000
CY2018 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-13000
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
102875000
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
78114000
CY2018 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
55776000
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
163723000
CY2019Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
76974000
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
219000
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
235000
CY2020Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
584000
CY2019Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
1437000
CY2020Q4 us-gaap Inventory Net
InventoryNet
53392000
CY2019Q4 us-gaap Inventory Net
InventoryNet
48771000
CY2020Q4 us-gaap Short Term Investments
ShortTermInvestments
10752000
CY2019Q4 us-gaap Short Term Investments
ShortTermInvestments
15704000
CY2019Q4 us-gaap Prepaid Taxes
PrepaidTaxes
5169000
CY2020Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
5863000
CY2019Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
6096000
CY2020Q4 us-gaap Assets Current
AssetsCurrent
234314000
CY2019Q4 us-gaap Assets Current
AssetsCurrent
154151000
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
27633000
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
26039000
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
10508000
CY2019Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
12803000
CY2020Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
2937000
CY2019Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
353000
CY2020Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
692000
CY2019Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
1307000
CY2020Q4 us-gaap Assets
Assets
276084000
CY2019Q4 us-gaap Assets
Assets
194653000
CY2020Q4 us-gaap Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
107677000
CY2019Q4 us-gaap Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
76220000
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
3673000
CY2019Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
3168000
CY2020Q4 us-gaap Liabilities Current
LiabilitiesCurrent
111350000
CY2019Q4 us-gaap Liabilities Current
LiabilitiesCurrent
79388000
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
7488000
CY2019Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
10433000
CY2020Q4 us-gaap Liabilities
Liabilities
118838000
CY2019Q4 us-gaap Liabilities
Liabilities
89821000
CY2019Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2019Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
20000000
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
20000000
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
11822000
CY2019Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
12272000
CY2020Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
11772000
CY2019Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
11764000
CY2020Q4 us-gaap Common Stock Value
CommonStockValue
12000
CY2019Q4 us-gaap Common Stock Value
CommonStockValue
12000
CY2020Q4 us-gaap Additional Paid In Capital
AdditionalPaidInCapital
7842000
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
41000
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
25000
CY2020Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
154351000
CY2019 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
1510000
CY2020 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-212000
CY2019 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-17000
CY2018 us-gaap Gain Loss On Sale Of Property Plant Equipment
GainLossOnSaleOfPropertyPlantEquipment
-48000
CY2020 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
556000
CY2018 us-gaap Increase Decrease In Prepaid Taxes
IncreaseDecreaseInPrepaidTaxes
-2272000
CY2020 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
-233000
CY2019Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
168788000
CY2020Q4 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
46000
CY2019Q4 us-gaap Treasury Stock Common Shares
TreasuryStockCommonShares
489000
CY2020Q4 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
5000000
CY2019Q4 us-gaap Treasury Stock Common Value
TreasuryStockCommonValue
63993000
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
157246000
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
104832000
CY2020Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
276084000
CY2019Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
194653000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
102859000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
77916000
CY2018 us-gaap Net Income Loss
NetIncomeLoss
55789000
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
7270000
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
7248000
CY2018 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
4435000
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
6796000
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
4520000
CY2018 us-gaap Share Based Compensation
ShareBasedCompensation
3124000
CY2019 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
3638000
CY2018 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
1058000
CY2020 us-gaap Other Amortization Of Deferred Charges
OtherAmortizationOfDeferredCharges
320000
CY2019 us-gaap Other Amortization Of Deferred Charges
OtherAmortizationOfDeferredCharges
454000
CY2018 us-gaap Other Amortization Of Deferred Charges
OtherAmortizationOfDeferredCharges
571000
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
601000
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
1598000
CY2018 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-2687000
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-297000
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
4064000
CY2018 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
936000
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
4621000
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
9883000
CY2018 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
18658000
CY2020 us-gaap Increase Decrease In Prepaid Taxes
IncreaseDecreaseInPrepaidTaxes
-5169000
CY2019 us-gaap Increase Decrease In Prepaid Taxes
IncreaseDecreaseInPrepaidTaxes
5169000
CY2018 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
282000
CY2020 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
2506000
CY2019 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
2615000
CY2018 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
-65000
CY2020 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
28010000
CY2019 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
12111000
CY2018 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
16017000
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
5887000
CY2018 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
60816000
CY2020 us-gaap Proceeds From Sale Of Short Term Investments
ProceedsFromSaleOfShortTermInvestments
4605000
CY2019 us-gaap Proceeds From Sale Of Short Term Investments
ProceedsFromSaleOfShortTermInvestments
3730000
CY2018 us-gaap Proceeds From Sale Of Short Term Investments
ProceedsFromSaleOfShortTermInvestments
3545000
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
145196000
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
84261000
CY2020 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
-21000
CY2018 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
547000
CY2020 us-gaap Payments For Repurchase Of Other Equity
PaymentsForRepurchaseOfOtherEquity
551000
CY2019 us-gaap Payments For Repurchase Of Other Equity
PaymentsForRepurchaseOfOtherEquity
14092000
CY2018 us-gaap Payments For Repurchase Of Other Equity
PaymentsForRepurchaseOfOtherEquity
720000
CY2020 us-gaap Payments Of Dividends
PaymentsOfDividends
53190000
CY2019 us-gaap Payments Of Dividends
PaymentsOfDividends
35396000
CY2018 us-gaap Payments Of Dividends
PaymentsOfDividends
23160000
CY2020 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
5000000
CY2019 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
33114000
CY2019 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
1000
CY2018 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
29995000
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-57144000
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-82324000
CY2018 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-53328000
CY2018 us-gaap Income Taxes Paid
IncomeTaxesPaid
14606000
CY2020 us-gaap Dividends Cash
DividendsCash
13831000
CY2019 us-gaap Dividends Cash
DividendsCash
13719000
CY2018 us-gaap Dividends Cash
DividendsCash
9137000
CY2017Q4 us-gaap Stockholders Equity
StockholdersEquity
106563000
CY2018 us-gaap Net Income Loss
NetIncomeLoss
55789000
CY2018 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation And Exercise Of Stock Options
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
3124000
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
10058000
CY2018 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
4940000
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-1282000
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-6328000
CY2018 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-1199000
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
1597000
CY2019 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
278000
CY2018 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
-2000
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
86749000
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-4390000
CY2018 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
6287000
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
76974000
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
81364000
CY2017Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
75077000
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
163723000
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
76974000
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
81364000
CY2020 us-gaap Income Taxes Paid
IncomeTaxesPaid
24636000
CY2019 us-gaap Income Taxes Paid
IncomeTaxesPaid
17314000
CY2018 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
547000
CY2018 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
720000
CY2018 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
29995000
CY2018 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-13000
CY2018 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
26189000
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
109106000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
77916000
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation And Exercise Of Stock Options
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
4520000
CY2019 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
278000
CY2019 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
14092000
CY2019 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
33114000
CY2019 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
198000
CY2019 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
39980000
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
104832000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
102859000
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation And Exercise Of Stock Options
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions
6796000
CY2020 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
1597000
CY2020 us-gaap Adjustments Related To Tax Withholding For Share Based Compensation
AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
551000
CY2020 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
5000000
CY2020 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
16000
CY2020 us-gaap Dividends Common Stock Cash
DividendsCommonStockCash
53303000
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
157246000
CY2020 us-gaap Prior Period Reclassification Adjustment Description
PriorPeriodReclassificationAdjustmentDescription
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Reclassification</b> - Certain amounts reported for prior periods have been reclassified to be consistent with the current period presentation. No reclassification in the consolidated financial statements had a material impact on the presentation.</p>
CY2020 us-gaap Use Of Estimates
UseOfEstimates
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Use of Estimates</b> - The preparation of financial statements in conformity with generally accepted accounting principles in the United States requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and reported amounts of revenue and expenses during the reporting period. Actual results could differ materially from those estimates.</p>
CY2020 us-gaap Concentration Risk Credit Risk
ConcentrationRiskCreditRisk
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Concentration of Credit Risk</b> - Our cash and cash equivalents and available-for-sale securities are maintained at several financial institutions and the balances with these financial institutions often exceed the amount of insurance provided on such accounts by the Federal Deposit Insurance Corporation. The cash and cash equivalents generally are maintained with financial institutions with reputable credit, and therefore bear minimal credit risk. Historically, we have not experienced any losses due to such concentration of credit risk.</p>
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
200000
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
200000
CY2020 us-gaap Advertising Expense
AdvertisingExpense
4400000
CY2019 us-gaap Advertising Expense
AdvertisingExpense
5300000
CY2018 us-gaap Advertising Expense
AdvertisingExpense
6000000.0
CY2020 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
2800000
CY2019 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
2700000
CY2018 us-gaap Research And Development Expense
ResearchAndDevelopmentExpense
2200000
CY2020Q4 us-gaap Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
2900000
CY2020 us-gaap Capitalized Computer Software Amortization1
CapitalizedComputerSoftwareAmortization1
200000
CY2020Q4 us-gaap Inventory Raw Materials
InventoryRawMaterials
13428000
CY2019Q4 us-gaap Inventory Raw Materials
InventoryRawMaterials
10880000
CY2020Q4 us-gaap Retail Related Inventory Packaging And Other Supplies
RetailRelatedInventoryPackagingAndOtherSupplies
4071000
CY2019Q4 us-gaap Retail Related Inventory Packaging And Other Supplies
RetailRelatedInventoryPackagingAndOtherSupplies
4109000
CY2020Q4 med Inventory Non Food Finished Goods
InventoryNonFoodFinishedGoods
8078000
CY2019Q4 med Inventory Non Food Finished Goods
InventoryNonFoodFinishedGoods
4421000
CY2020Q4 us-gaap Inventory Finished Goods
InventoryFinishedGoods
29858000
CY2019Q4 us-gaap Inventory Finished Goods
InventoryFinishedGoods
31314000
CY2020Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
2043000
CY2019Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
1953000
CY2020Q4 us-gaap Inventory Net
InventoryNet
53392000
CY2019Q4 us-gaap Inventory Net
InventoryNet
48771000
CY2020Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
54725000
CY2019Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
49055000
CY2020Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
27092000
CY2019Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
23016000
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
27633000
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
26039000
CY2020Q4 us-gaap Accounts Payable Trade Current
AccountsPayableTradeCurrent
35767000
CY2019Q4 us-gaap Accounts Payable Trade Current
AccountsPayableTradeCurrent
22608000
CY2020Q4 us-gaap Accrued Sales Commission Current
AccruedSalesCommissionCurrent
22598000
CY2019Q4 us-gaap Accrued Sales Commission Current
AccruedSalesCommissionCurrent
13186000
CY2020Q4 us-gaap Dividends Payable Current
DividendsPayableCurrent
13831000
CY2019Q4 us-gaap Dividends Payable Current
DividendsPayableCurrent
13719000
CY2020Q4 us-gaap Accrued Salaries Current
AccruedSalariesCurrent
16948000
CY2019Q4 us-gaap Accrued Salaries Current
AccruedSalariesCurrent
10409000
CY2020Q4 us-gaap Accrued Marketing Costs Current
AccruedMarketingCostsCurrent
325000
CY2019Q4 us-gaap Accrued Marketing Costs Current
AccruedMarketingCostsCurrent
5598000
CY2020Q4 med Promotional Sales Incentive Accruals
PromotionalSalesIncentiveAccruals
7621000
CY2019Q4 med Promotional Sales Incentive Accruals
PromotionalSalesIncentiveAccruals
4818000
CY2020Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
7606000
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
8.74
CY2020Q4 us-gaap Capital Units Authorized
CapitalUnitsAuthorized
21500000
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
6.62
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
20000000
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.001
CY2020Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
1500000
CY2020Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.001
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
11822000
CY2020Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0
CY2017Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Number Of Additional Shares Authorized
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
600000
CY2019Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
4333000
CY2020Q4 us-gaap Sales And Excise Tax Payable Current
SalesAndExciseTaxPayableCurrent
2981000
CY2019Q4 us-gaap Sales And Excise Tax Payable Current
SalesAndExciseTaxPayableCurrent
1549000
CY2020Q4 us-gaap Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
107677000
CY2019Q4 us-gaap Accounts Payable And Accrued Liabilities Current
AccountsPayableAndAccruedLiabilitiesCurrent
76220000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
102859000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
77916000
CY2018 us-gaap Net Income Loss
NetIncomeLoss
55789000
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
11771000
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
11771000
CY2018 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
11947000
CY2020 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
79000
CY2019 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
346000
CY2018 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
132000
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
11850000
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
12117000
CY2018 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
12079000
CY2018 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
4.67
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
8.68
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
6.43
CY2018 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
4.62
CY2017Q2 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Authorized
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
1600000
CY2019Q3 med Stock Repurchase Program Additional Shares Authorized
StockRepurchaseProgramAdditionalSharesAuthorized
2000000
CY2020 us-gaap Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
46000
CY2019 us-gaap Stock Repurchased During Period Shares
StockRepurchasedDuringPeriodShares
296000
CY2020Q4 us-gaap Stock Repurchase Program Remaining Number Of Shares Authorized To Be Repurchased
StockRepurchaseProgramRemainingNumberOfSharesAuthorizedToBeRepurchased
2323000
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
0
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
0
CY2020Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
8450000
CY2019Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
8830000
CY2019 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
1825000
CY2018 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
1048000
CY2020 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
30805000
CY2019 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
12849000
CY2018 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
17446000
CY2020 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
477000
CY2019 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
2323000
CY2018 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P6Y4M24D
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.0264
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.3330
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.0287
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
1600000
CY2019 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
300000
CY2018 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
500000
CY2020 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
0.0
CY2019 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
100000
CY2018 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
0.0
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
6800000
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
4500000
CY2018 us-gaap Share Based Compensation
ShareBasedCompensation
3100000
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
-22000
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
-1000
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
63000
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Available For Sale Securities Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax
26000
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
41000
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
25000
CY2020Q4 us-gaap Marketable Securities
MarketableSecurities
174241000
CY2020 us-gaap Marketable Securities Unrealized Gain Loss
MarketableSecuritiesUnrealizedGainLoss
87000
CY2020Q4 us-gaap Interest Receivable
InterestReceivable
147000
CY2020Q4 us-gaap Available For Sale Securities Debt Securities Current
AvailableForSaleSecuritiesDebtSecuritiesCurrent
174475000
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
163723000
CY2020Q4 us-gaap Investment Owned At Fair Value
InvestmentOwnedAtFairValue
10752000
CY2019Q4 us-gaap Marketable Securities
MarketableSecurities
92416000
CY2019 us-gaap Marketable Securities Unrealized Gain Loss
MarketableSecuritiesUnrealizedGainLoss
36000
CY2019Q4 us-gaap Interest Receivable
InterestReceivable
226000
CY2019Q4 us-gaap Available For Sale Securities Debt Securities Current
AvailableForSaleSecuritiesDebtSecuritiesCurrent
92678000
CY2019Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
76974000
CY2019Q4 us-gaap Investment Owned At Fair Value
InvestmentOwnedAtFairValue
15704000
CY2018 us-gaap Debt And Equity Securities Realized Gain Loss
DebtAndEquitySecuritiesRealizedGainLoss
0
CY2019 us-gaap Debt And Equity Securities Realized Gain Loss
DebtAndEquitySecuritiesRealizedGainLoss
0
CY2020 us-gaap Debt And Equity Securities Realized Gain Loss
DebtAndEquitySecuritiesRealizedGainLoss
0
CY2020 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
28520000
CY2019 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
11024000
CY2018 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
16398000
CY2020 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
2285000
CY2018 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-2393000
CY2020 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-77000
CY2019 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-729000
CY2018 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-89000
CY2020 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
201000
CY2019 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
4000
CY2018 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-205000
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
601000
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
1598000
CY2018 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-2687000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
31406000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
14447000
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
14759000
CY2020 us-gaap Income Tax Expense Benefit Intraperiod Tax Allocation
IncomeTaxExpenseBenefitIntraperiodTaxAllocation
31400000
CY2019 us-gaap Income Tax Expense Benefit Intraperiod Tax Allocation
IncomeTaxExpenseBenefitIntraperiodTaxAllocation
14500000
CY2018 us-gaap Income Tax Expense Benefit Intraperiod Tax Allocation
IncomeTaxExpenseBenefitIntraperiodTaxAllocation
14800000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
31406000
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
14447000
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
14759000
CY2020 med Unrealized Gain Loss On Investment Securities And Foreign Currency Income Tax Effects Allocated To Equity
UnrealizedGainLossOnInvestmentSecuritiesAndForeignCurrencyIncomeTaxEffectsAllocatedToEquity
14000
CY2019 med Unrealized Gain Loss On Investment Securities And Foreign Currency Income Tax Effects Allocated To Equity
UnrealizedGainLossOnInvestmentSecuritiesAndForeignCurrencyIncomeTaxEffectsAllocatedToEquity
75000
CY2018 med Unrealized Gain Loss On Investment Securities And Foreign Currency Income Tax Effects Allocated To Equity
UnrealizedGainLossOnInvestmentSecuritiesAndForeignCurrencyIncomeTaxEffectsAllocatedToEquity
43000
CY2020 us-gaap Income Tax Expense Benefit Intraperiod Tax Allocation
IncomeTaxExpenseBenefitIntraperiodTaxAllocation
31420000
CY2019 us-gaap Income Tax Expense Benefit Intraperiod Tax Allocation
IncomeTaxExpenseBenefitIntraperiodTaxAllocation
14522000
CY2018 us-gaap Income Tax Expense Benefit Intraperiod Tax Allocation
IncomeTaxExpenseBenefitIntraperiodTaxAllocation
14802000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
753000
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
745000
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
2546000
CY2019Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
1269000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
1015000
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
756000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
3274000
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
2465000
CY2020Q4 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
120000
CY2019Q4 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
307000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Other
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
2178000
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Other
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsOther
3288000
CY2020Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
1436000
CY2020Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
2032000
CY2019Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
3114000
CY2020Q4 us-gaap Deferred Tax Liabilities Investments
DeferredTaxLiabilitiesInvestments
24000
CY2019Q4 us-gaap Deferred Tax Liabilities Investments
DeferredTaxLiabilitiesInvestments
10000
CY2020Q4 us-gaap Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
1022000
CY2019Q4 us-gaap Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
1034000
CY2020Q4 us-gaap Gross Profit
GrossProfit
199239000
CY2020Q1 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
23624000
CY2020Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
28158000
CY2020Q4 us-gaap Deferred Tax Liabilities Deferred Expense
DeferredTaxLiabilitiesDeferredExpense
4680000
CY2019Q4 us-gaap Deferred Tax Liabilities Deferred Expense
DeferredTaxLiabilitiesDeferredExpense
3365000
CY2020Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
7758000
CY2019Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
7523000
CY2020Q4 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
692000
CY2019Q4 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
1307000
CY2020 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
28196000
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2019 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
19396000
CY2019 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2018 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
14815000
CY2018 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2020 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
1470000
CY2020 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.011
CY2019 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
864000
CY2019 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.009
CY2018 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
769000
CY2018 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.011
CY2020 us-gaap Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
-415000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
-0.003
CY2019 us-gaap Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
-6424000
CY2019 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
-0.070
CY2018 us-gaap Income Tax Reconciliation Nondeductible Expense Share Based Compensation Cost
IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
-1852000
CY2018 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Share Based Compensation Cost
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost
-0.026
CY2020 us-gaap Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
1218000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
0.009
CY2019 us-gaap Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
1004000
CY2019 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
0.011
CY2018 us-gaap Income Tax Reconciliation Nondeductible Expense Other
IncomeTaxReconciliationNondeductibleExpenseOther
615000
CY2018 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Other
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseOther
0.008
CY2020 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
370000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.003
CY2019 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
579000
CY2019 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.006
CY2018 us-gaap Income Tax Reconciliation Tax Credits Research
IncomeTaxReconciliationTaxCreditsResearch
85000
CY2018 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.001
CY2020 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
1342000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.010
CY2019 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.000
CY2018 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.000
CY2020 us-gaap Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
-236000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Other Reconciling Items Percent
EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
-0.002
CY2019 us-gaap Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
182000
CY2019 us-gaap Effective Income Tax Rate Reconciliation Other Reconciling Items Percent
EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
0.002
CY2018 us-gaap Income Tax Reconciliation Other Reconciling Items
IncomeTaxReconciliationOtherReconcilingItems
323000
CY2018 us-gaap Effective Income Tax Rate Reconciliation Other Reconciling Items Percent
EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
0.004
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
31406000
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.234
CY2020Q1 us-gaap Revenues
Revenues
178461000
CY2020 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
887000
CY2019 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
3489000
CY2020Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P3Y8M12D
CY2020Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.035
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
14447000
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.156
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
14759000
CY2018 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.209
CY2020Q4 us-gaap Operating Loss Carryforwards
OperatingLossCarryforwards
25600000
CY2020 us-gaap Operating Lease Expense
OperatingLeaseExpense
3600000
CY2019 us-gaap Operating Lease Expense
OperatingLeaseExpense
3100000
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
3775000
CY2019 us-gaap Operating Lease Payments
OperatingLeasePayments
3025000
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
3991000
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
3397000
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
1851000
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
1234000
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
1248000
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
203000
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
11924000
CY2020Q4 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
763000
CY2020Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
11161000
CY2020Q2 us-gaap Revenues
Revenues
219999000
CY2020Q3 us-gaap Revenues
Revenues
271470000
CY2020Q4 us-gaap Revenues
Revenues
264912000
CY2020Q1 us-gaap Gross Profit
GrossProfit
135240000
CY2020Q2 us-gaap Gross Profit
GrossProfit
159300000
CY2020Q3 us-gaap Gross Profit
GrossProfit
204036000
CY2020Q3 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
44633000
CY2020Q4 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
37850000
CY2020Q1 us-gaap Net Income Loss
NetIncomeLoss
18477000
CY2020Q2 us-gaap Net Income Loss
NetIncomeLoss
21935000
CY2020Q3 us-gaap Net Income Loss
NetIncomeLoss
34453000
CY2020Q4 us-gaap Net Income Loss
NetIncomeLoss
27994000
CY2020Q1 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.57
CY2020Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.86
CY2020Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
2.93
CY2020Q4 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
2.38
CY2020Q1 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.56
CY2020Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.86
CY2020Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
2.91
CY2020Q4 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
2.36
CY2019Q1 us-gaap Revenues
Revenues
165876000
CY2019Q2 us-gaap Revenues
Revenues
187103000
CY2019Q3 us-gaap Revenues
Revenues
190061000
CY2019Q4 us-gaap Revenues
Revenues
170632000
CY2019Q1 us-gaap Gross Profit
GrossProfit
125147000
CY2019Q2 us-gaap Gross Profit
GrossProfit
140710000
CY2019Q3 us-gaap Gross Profit
GrossProfit
142933000
CY2019Q4 us-gaap Gross Profit
GrossProfit
128068000
CY2019Q1 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
25021000
CY2019Q2 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
27778000
CY2019Q3 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
20583000
CY2019Q4 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
18981000
CY2019Q1 us-gaap Net Income Loss
NetIncomeLoss
20750000
CY2019Q2 us-gaap Net Income Loss
NetIncomeLoss
21383000
CY2019Q3 us-gaap Net Income Loss
NetIncomeLoss
15902000
CY2019Q4 us-gaap Net Income Loss
NetIncomeLoss
19881000
CY2019Q1 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.75
CY2019Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.80
CY2019Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.36
CY2019Q4 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.71
CY2019Q1 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.70
CY2019Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.75
CY2019Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.32
CY2019Q4 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.66

Files In Submission

Name View Source Status
0001558370-21-001985-index-headers.html Edgar Link pending
0001558370-21-001985-index.html Edgar Link pending
0001558370-21-001985.txt Edgar Link pending
0001558370-21-001985-xbrl.zip Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
med-20201231.xsd Edgar Link pending
med-20201231x10k.htm Edgar Link pending
med-20201231x10k006.jpg Edgar Link pending
med-20201231x10k_htm.xml Edgar Link completed
med-20201231xex21d1.htm Edgar Link pending
med-20201231xex23d1.htm Edgar Link pending
med-20201231xex31d1.htm Edgar Link pending
med-20201231xex31d2.htm Edgar Link pending
med-20201231xex32.htm Edgar Link pending
med-20201231xex4d1.htm Edgar Link pending
med-20201231_cal.xml Edgar Link unprocessable
med-20201231_def.xml Edgar Link unprocessable
med-20201231_lab.xml Edgar Link unprocessable
med-20201231_pre.xml Edgar Link unprocessable
MetaLinks.json Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R6.htm Edgar Link pending
R7.htm Edgar Link pending
R8.htm Edgar Link pending
R9.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending