2019 Q4 Form 10-K Financial Statement

#000070360421000035 Filed on February 26, 2021

View on sec.gov

Income Statement

Concept 2019 Q4 2019 2018 Q4
Revenue $88.60M $370.8M $86.30M
YoY Change 2.67% 6.05% 7.03%
Cost Of Revenue $41.80M $173.4M $40.20M
YoY Change 3.98% 8.33% 19.64%
Gross Profit $46.80M $197.4M $46.10M
YoY Change 1.52% 4.12% -1.9%
Gross Profit Margin 52.82% 53.23% 53.42%
Selling, General & Admin $51.10M $188.3M $42.00M
YoY Change 21.67% 4.41% -10.26%
% of Gross Profit 109.19% 95.41% 91.11%
Research & Development
YoY Change
% of Gross Profit
Depreciation & Amortization $1.490M $5.893M $1.740M
YoY Change -14.37% -14.03% -4.92%
% of Gross Profit 3.18% 2.99% 3.77%
Operating Expenses $51.30M $188.3M $42.00M
YoY Change 22.14% 4.41% -10.26%
Operating Profit -$4.500M $9.066M $4.100M
YoY Change -209.76% -1.56% 2024.35%
Interest Expense -$100.0K $603.0K -$300.0K
YoY Change -66.67% -40.24% 50.0%
% of Operating Profit 6.65% -7.32%
Other Income/Expense, Net $400.0K $1.211M -$1.000M
YoY Change -140.0% -190.51% 400.0%
Pretax Income -$4.300M $5.418M $2.800M
YoY Change -253.57% -20.78% -1500.0%
Income Tax -$1.300M $2.453M $200.0K
% Of Pretax Income 45.28% 7.14%
Net Earnings -$3.000M $7.221M $2.600M
YoY Change -215.38% 16.21% -87.15%
Net Earnings / Revenue -3.39% 1.95% 3.01%
Basic Earnings Per Share $0.81
Diluted Earnings Per Share -$0.17 $0.77 $0.14
COMMON SHARES
Basic Shares Outstanding 8.968M shares 8.920M shares
Diluted Shares Outstanding 9.376M shares

Balance Sheet

Concept 2019 Q4 2019 2018 Q4
SHORT-TERM ASSETS
Cash & Short-Term Investments $5.500M $5.495M $11.90M
YoY Change -53.78% -53.76% 170.45%
Cash & Equivalents $5.495M $5.495M $11.88M
Short-Term Investments
Other Short-Term Assets $800.0K $802.0K $800.0K
YoY Change 0.0% 0.25% 0.0%
Inventory $55.91M $55.91M $52.89M
Prepaid Expenses
Receivables $38.84M $38.84M $37.68M
Other Receivables $5.400M $5.377M $3.600M
Total Short-Term Assets $106.4M $106.4M $106.9M
YoY Change -0.45% -0.45% 8.59%
LONG-TERM ASSETS
Property, Plant & Equipment $16.55M $27.79M $23.55M
YoY Change -29.74% 18.02% -13.85%
Goodwill $20.92M $20.08M
YoY Change 4.2% 2.37%
Intangibles $12.34M $13.11M
YoY Change -5.93% 11.0%
Long-Term Investments $8.548M
YoY Change
Other Assets $277.0K $36.96M $307.0K
YoY Change -9.77% 10.33% 23.79%
Total Long-Term Assets $98.01M $98.01M $90.24M
YoY Change 8.61% 8.61% -2.62%
TOTAL ASSETS
Total Short-Term Assets $106.4M $106.4M $106.9M
Total Long-Term Assets $98.01M $98.01M $90.24M
Total Assets $204.4M $204.4M $197.1M
YoY Change 3.7% 3.7% 3.16%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $13.79M $13.79M $15.21M
YoY Change -9.32% -9.32% 22.7%
Accrued Expenses $39.31M $30.68M $40.18M
YoY Change -2.16% 9.23% 21.61%
Deferred Revenue
YoY Change
Short-Term Debt $0.00 $0.00 $10.80M
YoY Change -100.0% -100.0% -25.52%
Long-Term Debt Due $200.0K $239.0K
YoY Change -80.2%
Total Short-Term Liabilities $56.93M $56.93M $66.21M
YoY Change -14.01% -14.01% 10.39%
LONG-TERM LIABILITIES
Long-Term Debt $2.600M $2.642M $0.00
YoY Change
Other Long-Term Liabilities $3.325M $30.67M $4.106M
YoY Change -19.02% 5.76% -27.91%
Total Long-Term Liabilities $3.325M $33.31M $4.106M
YoY Change -19.02% 14.87% -27.91%
TOTAL LIABILITIES
Total Short-Term Liabilities $56.93M $56.93M $66.21M
Total Long-Term Liabilities $3.325M $33.31M $4.106M
Total Liabilities $96.43M $96.43M $97.97M
YoY Change -1.57% -1.57% 0.36%
SHAREHOLDERS EQUITY
Retained Earnings $86.50M $77.34M
YoY Change 11.84% 8.24%
Common Stock $27.27M $24.63M
YoY Change 10.71% 12.33%
Preferred Stock
YoY Change
Treasury Stock (at cost) $5.761M $1.234M
YoY Change 366.86% 73.56%
Treasury Stock Shares 146.4K shares 49.79K shares
Shareholders Equity $108.0M $108.0M $99.17M
YoY Change
Total Liabilities & Shareholders Equity $204.4M $204.4M $197.1M
YoY Change 3.7% 3.7% 3.16%

Cashflow Statement

Concept 2019 Q4 2019 2018 Q4
OPERATING ACTIVITIES
Net Income -$3.000M $7.221M $2.600M
YoY Change -215.38% 16.21% -87.15%
Depreciation, Depletion And Amortization $1.490M $5.893M $1.740M
YoY Change -14.37% -14.03% -4.92%
Cash From Operating Activities $1.160M $9.196M $10.13M
YoY Change -88.55% -54.7% 206.04%
INVESTING ACTIVITIES
Capital Expenditures $640.0K $2.028M $890.0K
YoY Change -28.09% -19.65% 2866.67%
Acquisitions
YoY Change
Other Investing Activities $0.00 $0.00 -$5.150M
YoY Change -100.0% -100.0% -84.05%
Cash From Investing Activities -$640.0K -$2.028M -$6.050M
YoY Change -89.42% -74.1% -81.28%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net $4.527M
YoY Change 765.58%
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities -3.720M -$13.89M 120.0K
YoY Change -3200.0% 209.35% -99.17%
NET CHANGE
Cash From Operating Activities 1.160M $9.196M 10.13M
Cash From Investing Activities -640.0K -$2.028M -6.050M
Cash From Financing Activities -3.720M -$13.89M 120.0K
Net Change In Cash -3.200M -$6.386M 4.200M
YoY Change -176.19% -180.05% -128.71%
FREE CASH FLOW
Cash From Operating Activities $1.160M $9.196M $10.13M
Capital Expenditures $640.0K $2.028M $890.0K
Free Cash Flow $520.0K $7.168M $9.240M
YoY Change -94.37% -59.67% 181.71%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2020 dei Entity Central Index Key
EntityCentralIndexKey
0000703604
CY2020 dei Document Period End Date
DocumentPeriodEndDate
2020-12-31
CY2020 dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
CY2020 dei Amendment Flag
AmendmentFlag
false
CY2020 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2020
CY2020 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2019Q1 us-gaap Accounting Standards Update Extensible List
AccountingStandardsUpdateExtensibleList
us-gaap:AccountingStandardsUpdate201602Member
CY2019Q4 us-gaap Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
laws:LeaseLiabilityCurrent
CY2019Q4 us-gaap Finance Lease Liability Current Statement Of Financial Position Extensible List
FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
laws:LeaseLiabilityCurrent
CY2020Q4 us-gaap Finance Lease Liability Current Statement Of Financial Position Extensible List
FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
laws:LeaseLiabilityCurrent
CY2020Q4 us-gaap Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
laws:LeaseLiabilityCurrent
CY2019Q4 us-gaap Finance Lease Liability Noncurrent Statement Of Financial Position Extensible List
FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
laws:LeaseLiabilityNoncurrent
CY2020Q4 us-gaap Operating Lease Liability Noncurrent Statement Of Financial Position Extensible List
OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
laws:LeaseLiabilityNoncurrent
CY2019Q4 us-gaap Operating Lease Liability Noncurrent Statement Of Financial Position Extensible List
OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
laws:LeaseLiabilityNoncurrent
CY2020Q4 us-gaap Finance Lease Liability Noncurrent Statement Of Financial Position Extensible List
FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
laws:LeaseLiabilityNoncurrent
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 Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
CY2020 dei Entity Address Address Line2
EntityAddressAddressLine2
Suite 900
CY2020 dei Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
No
CY2020 dei Document Transition Report
DocumentTransitionReport
false
CY2020 dei Entity File Number
EntityFileNumber
0-10546
CY2020 dei Entity Registrant Name
EntityRegistrantName
LAWSON PRODUCTS, INC.
CY2020 dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
DE
CY2020 dei Entity Tax Identification Number
EntityTaxIdentificationNumber
36-2229304
CY2020 dei Entity Address Address Line1
EntityAddressAddressLine1
8770 W. Bryn Mawr Avenue
CY2020 dei Entity Address City Or Town
EntityAddressCityOrTown
Chicago
CY2020 dei Entity Address State Or Province
EntityAddressStateOrProvince
IL
CY2020 dei Entity Address Postal Zip Code
EntityAddressPostalZipCode
60631
CY2020 dei City Area Code
CityAreaCode
773
CY2020 dei Local Phone Number
LocalPhoneNumber
304-5050
CY2020 dei Security12b Title
Security12bTitle
Common Stock, $1.00 par value
CY2020 dei Trading Symbol
TradingSymbol
LAWS
CY2020 dei Security Exchange Name
SecurityExchangeName
NASDAQ
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 Filer Category
EntityFilerCategory
Accelerated Filer
CY2020 dei Entity Small Business
EntitySmallBusiness
true
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
141259000 USD
CY2021Q1 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
9061039 shares
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
28393000 USD
CY2019Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
5495000 USD
CY2020Q4 us-gaap Restricted Cash And Cash Equivalents At Carrying Value
RestrictedCashAndCashEquivalentsAtCarryingValue
998000 USD
CY2019Q4 us-gaap Restricted Cash And Cash Equivalents At Carrying Value
RestrictedCashAndCashEquivalentsAtCarryingValue
802000 USD
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
654000 USD
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
593000 USD
CY2020Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
44515000 USD
CY2019Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
38843000 USD
CY2020Q4 us-gaap Inventory Net
InventoryNet
61867000 USD
CY2019Q4 us-gaap Inventory Net
InventoryNet
55905000 USD
CY2020Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
7289000 USD
CY2019Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
5377000 USD
CY2020Q4 us-gaap Assets Current
AssetsCurrent
143062000 USD
CY2019Q4 us-gaap Assets Current
AssetsCurrent
106422000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
15800000 USD
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
16546000 USD
CY2020Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
18482000 USD
CY2019Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
21711000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
35176000 USD
CY2019Q4 us-gaap Goodwill
Goodwill
20923000 USD
CY2020Q4 us-gaap Cash Surrender Value Of Life Insurance
CashSurrenderValueOfLifeInsurance
16185000 USD
CY2019Q4 us-gaap Cash Surrender Value Of Life Insurance
CashSurrenderValueOfLifeInsurance
14969000 USD
CY2020Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
18503000 USD
CY2020Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
332000 USD
CY2019Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
12335000 USD
CY2020Q4 laws Lease Assets Rightof Use Asset
LeaseAssetsRightofUseAsset
8764000 USD
CY2019Q4 laws Lease Assets Rightof Use Asset
LeaseAssetsRightofUseAsset
11246000 USD
CY2019Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
277000 USD
CY2020Q4 us-gaap Assets
Assets
256304000 USD
CY2019Q4 us-gaap Assets
Assets
204429000 USD
CY2020Q4 laws Acquisition Liability
AcquisitionLiability
32673000 USD
CY2019Q4 laws Acquisition Liability
AcquisitionLiability
0 USD
CY2020Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
22262000 USD
CY2019Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
13789000 USD
CY2020Q4 laws Lease Liability Current
LeaseLiabilityCurrent
4568000 USD
CY2019Q4 laws Lease Liability Current
LeaseLiabilityCurrent
3830000 USD
CY2020Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
38492000 USD
CY2019Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
39311000 USD
CY2020Q4 us-gaap Liabilities Current
LiabilitiesCurrent
97995000 USD
CY2019Q4 us-gaap Liabilities Current
LiabilitiesCurrent
56930000 USD
CY2020Q4 us-gaap Secured Long Term Debt
SecuredLongTermDebt
0 USD
CY2019Q4 us-gaap Secured Long Term Debt
SecuredLongTermDebt
2271000 USD
CY2020Q4 laws Security Bonus Liability Long Term
SecurityBonusLiabilityLongTerm
11262000 USD
CY2019Q4 laws Security Bonus Liability Long Term
SecurityBonusLiabilityLongTerm
11840000 USD
CY2020Q4 laws Lease Liability Noncurrent
LeaseLiabilityNoncurrent
5738000 USD
CY2019Q4 laws Lease Liability Noncurrent
LeaseLiabilityNoncurrent
9504000 USD
CY2020Q4 us-gaap Deferred Compensation Liability Classified Noncurrent
DeferredCompensationLiabilityClassifiedNoncurrent
10461000 USD
CY2019Q4 us-gaap Deferred Compensation Liability Classified Noncurrent
DeferredCompensationLiabilityClassifiedNoncurrent
6370000 USD
CY2020Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
2841000 USD
CY2019Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
6188000 USD
CY2020Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
5585000 USD
CY2019Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
3325000 USD
CY2020Q4 us-gaap Liabilities
Liabilities
133882000 USD
CY2019Q4 us-gaap Liabilities
Liabilities
96428000 USD
CY2020Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
USD
CY2019Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
USD
CY2020Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
1
CY2019Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
1
CY2019Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000 shares
CY2020Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
500000 shares
CY2020Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0 shares
CY2019Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
0 shares
CY2019Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0 shares
CY2020Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0 shares
CY2020Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 USD
CY2019Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 USD
CY2019Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
1
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
1
CY2019Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
35000000 shares
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
35000000 shares
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
9287625 shares
CY2019Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
9190171 shares
CY2020Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
9061039 shares
CY2019Q4 us-gaap Common Stock Shares Outstanding
CommonStockSharesOutstanding
9043771 shares
CY2020Q4 us-gaap Common Stock Value
CommonStockValue
9288000 USD
CY2019Q4 us-gaap Common Stock Value
CommonStockValue
9190000 USD
CY2020Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
19841000 USD
CY2019Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
18077000 USD
CY2020Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
101609000 USD
CY2019Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
86496000 USD
CY2020Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
226586 shares
CY2019Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
146400 shares
CY2020Q4 us-gaap Treasury Stock Value
TreasuryStockValue
9015000 USD
CY2019Q4 us-gaap Treasury Stock Value
TreasuryStockValue
5761000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
699000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-1000 USD
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
122422000 USD
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
108001000 USD
CY2020Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
256304000 USD
CY2019Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
204429000 USD
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
351591000 USD
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
370785000 USD
CY2020 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
165053000 USD
CY2019 us-gaap Cost Of Goods And Services Sold
CostOfGoodsAndServicesSold
173431000 USD
CY2020 us-gaap Gross Profit
GrossProfit
186538000 USD
CY2019 us-gaap Gross Profit
GrossProfit
197354000 USD
CY2020 us-gaap Selling Expense
SellingExpense
76775000 USD
CY2019 us-gaap Selling Expense
SellingExpense
85342000 USD
CY2020 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
89213000 USD
CY2019 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
102946000 USD
CY2020 us-gaap Operating Expenses
OperatingExpenses
165988000 USD
CY2019 us-gaap Operating Expenses
OperatingExpenses
188288000 USD
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
20550000 USD
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
9066000 USD
CY2020 us-gaap Interest Expense
InterestExpense
654000 USD
CY2019 us-gaap Interest Expense
InterestExpense
603000 USD
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
889000 USD
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
1211000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
20785000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
9674000 USD
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
5672000 USD
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2453000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
15113000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
7221000 USD
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.68
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.81
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.62
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.77
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
9020000 shares
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
8968000 shares
CY2020 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
311000 shares
CY2019 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
408000 shares
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
9331000 shares
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
9376000 shares
CY2020 us-gaap Net Income Loss
NetIncomeLoss
15113000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
7221000 USD
CY2020 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
700000 USD
CY2019 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
1559000 USD
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
15813000 USD
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
8780000 USD
CY2019Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
1
CY2018Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
1
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
1
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
99173000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
7221000 USD
CY2019 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
1559000 USD
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
2638000 USD
CY2019 us-gaap Stock Issued During Period Value New Issues
StockIssuedDuringPeriodValueNewIssues
0 USD
CY2019 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
4527000 USD
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
108001000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
15113000 USD
CY2020 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Adjustment Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
700000 USD
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
1847000 USD
CY2020 us-gaap Stock Issued During Period Value New Issues
StockIssuedDuringPeriodValueNewIssues
15000 USD
CY2020 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
3254000 USD
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
122422000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
15113000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
7221000 USD
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
6701000 USD
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
5893000 USD
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
1479000 USD
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
4054000 USD
CY2020 us-gaap Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
167000 USD
CY2019 us-gaap Increase Decrease In Deferred Income Taxes
IncreaseDecreaseInDeferredIncomeTaxes
-2169000 USD
CY2020 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
1918000 USD
CY2019 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0 USD
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-1762000 USD
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
1380000 USD
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-2100000 USD
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
2308000 USD
CY2020 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
2899000 USD
CY2019 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
3890000 USD
CY2020 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
5788000 USD
CY2019 us-gaap Increase Decrease In Accounts Payable And Accrued Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
-3230000 USD
CY2020 us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
-733000 USD
CY2019 us-gaap Increase Decrease In Other Operating Capital Net
IncreaseDecreaseInOtherOperatingCapitalNet
-667000 USD
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
32528000 USD
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
9196000 USD
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
1687000 USD
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2028000 USD
CY2020 us-gaap Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
2300000 USD
CY2019 us-gaap Payments To Acquire Businesses Gross
PaymentsToAcquireBusinessesGross
0 USD
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-3987000 USD
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-2028000 USD
CY2020 us-gaap Proceeds From Repayments Of Lines Of Credit
ProceedsFromRepaymentsOfLinesOfCredit
-2271000 USD
CY2019 us-gaap Proceeds From Repayments Of Lines Of Credit
ProceedsFromRepaymentsOfLinesOfCredit
-8552000 USD
CY2020 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
3254000 USD
CY2019 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
4527000 USD
CY2020 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
0 USD
CY2019 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
573000 USD
CY2020 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
257000 USD
CY2019 us-gaap Finance Lease Principal Payments
FinanceLeasePrincipalPayments
271000 USD
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
15000 USD
CY2019 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
33000 USD
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-5767000 USD
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-13890000 USD
CY2020 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
320000 USD
CY2019 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
336000 USD
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
23094000 USD
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-6386000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
6297000 USD
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
12683000 USD
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
29391000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
6297000 USD
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
28393000 USD
CY2019Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
5495000 USD
CY2020Q4 us-gaap Restricted Cash And Cash Equivalents At Carrying Value
RestrictedCashAndCashEquivalentsAtCarryingValue
998000 USD
CY2019Q4 us-gaap Restricted Cash And Cash Equivalents At Carrying Value
RestrictedCashAndCashEquivalentsAtCarryingValue
802000 USD
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
29391000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
6297000 USD
CY2020 us-gaap Noncash Or Part Noncash Acquisition Value Of Liabilities Assumed1
NoncashOrPartNoncashAcquisitionValueOfLiabilitiesAssumed1
32673000 USD
CY2019 us-gaap Noncash Or Part Noncash Acquisition Value Of Liabilities Assumed1
NoncashOrPartNoncashAcquisitionValueOfLiabilitiesAssumed1
0 USD
CY2020 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
5377000 USD
CY2019 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
947000 USD
CY2020 us-gaap Interest Paid Net
InterestPaidNet
398000 USD
CY2019 us-gaap Interest Paid Net
InterestPaidNet
590000 USD
CY2020 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2 segment
CY2020 us-gaap Capitalized Computer Software Amortization1
CapitalizedComputerSoftwareAmortization1
600000 USD
CY2020 us-gaap Depreciation
Depreciation
4400000 USD
CY2019 us-gaap Depreciation
Depreciation
3900000 USD
CY2019 us-gaap Capitalized Computer Software Amortization1
CapitalizedComputerSoftwareAmortization1
600000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
35200000 USD
CY2019Q4 us-gaap Goodwill
Goodwill
20900000 USD
CY2019 us-gaap Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
0 USD
CY2020 us-gaap Impairment Of Long Lived Assets Held For Use
ImpairmentOfLongLivedAssetsHeldForUse
0 USD
CY2020 us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
47504 shares
CY2019 us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
32362 shares
CY2020 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
32682 shares
CY2019 us-gaap Shares Paid For Tax Withholding For Share Based Compensation
SharesPaidForTaxWithholdingForShareBasedCompensation
64252 shares
CY2020 us-gaap Use Of Estimates
UseOfEstimates
Preparation of financial statements in conformity with accounting principles generally accepted in the United States requires management to make estimates and assumptions that affect the amounts reported for service revenue, service cost, allowance for doubtful accounts, inventory reserves, goodwill and intangible assets valuation, and income taxes in the consolidated financial statements and accompanying notes. Actual results could differ from these estimates.
CY2020Q3 laws Business Combination Recognized Identifiable Assets Acquired And Liabilities Assumed Right Of Use Assets
BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightOfUseAssets
620000 USD
CY2020 us-gaap Business Acquisitions Pro Forma Revenue
BusinessAcquisitionsProFormaRevenue
396679000 USD
CY2019 us-gaap Business Acquisitions Pro Forma Revenue
BusinessAcquisitionsProFormaRevenue
435486000 USD
CY2020 us-gaap Business Acquisitions Pro Forma Net Income Loss
BusinessAcquisitionsProFormaNetIncomeLoss
16535000 USD
CY2019 us-gaap Business Acquisitions Pro Forma Net Income Loss
BusinessAcquisitionsProFormaNetIncomeLoss
7277000 USD
us-gaap Operating Lease Lease Income
OperatingLeaseLeaseIncome
900000 USD
CY2020Q4 us-gaap Inventory Gross
InventoryGross
67137000 USD
CY2019Q4 us-gaap Inventory Gross
InventoryGross
60500000 USD
CY2020Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
5270000 USD
CY2019Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
4595000 USD
CY2020Q4 us-gaap Inventory Net
InventoryNet
61867000 USD
CY2019Q4 us-gaap Inventory Net
InventoryNet
55905000 USD
CY2019Q4 us-gaap Goodwill
Goodwill
20923000 USD
CY2020 us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
355000 USD
CY2020Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
74870000 USD
CY2019Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
71137000 USD
CY2020Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
59070000 USD
CY2019Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
54591000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
15800000 USD
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
16546000 USD
CY2018Q4 us-gaap Goodwill
Goodwill
20079000 USD
CY2019 us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
854000 USD
CY2019 us-gaap Goodwill Transfers
GoodwillTransfers
-10000 USD
CY2020 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
15816000 USD
CY2020 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
1918000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
35176000 USD
CY2020 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
15800000 USD
CY2020 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
1900000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
23638000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
5135000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
18503000 USD
CY2019Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
15759000 USD
CY2019Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
3424000 USD
CY2019Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
12335000 USD
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
1700000 USD
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
1300000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
20785000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
4256000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
2662000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
2457000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
2343000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
2247000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
1983000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
6811000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
18503000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
16226000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
5418000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
4559000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
9674000 USD
CY2020 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
3858000 USD
CY2019 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
0 USD
CY2020 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
710000 USD
CY2019 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
136000 USD
CY2020 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
1288000 USD
CY2019 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
291000 USD
CY2020 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
5856000 USD
CY2019 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
427000 USD
CY2020 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
236000 USD
CY2019 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
2012000 USD
CY2020 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
52000 USD
CY2019 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
303000 USD
CY2020 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-472000 USD
CY2019 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-289000 USD
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-184000 USD
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
2026000 USD
CY2020 us-gaap Federal Income Tax Expense Benefit Continuing Operations
FederalIncomeTaxExpenseBenefitContinuingOperations
4094000 USD
CY2019 us-gaap Federal Income Tax Expense Benefit Continuing Operations
FederalIncomeTaxExpenseBenefitContinuingOperations
2012000 USD
CY2020 us-gaap State And Local Income Tax Expense Benefit Continuing Operations
StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
762000 USD
CY2019 us-gaap State And Local Income Tax Expense Benefit Continuing Operations
StateAndLocalIncomeTaxExpenseBenefitContinuingOperations
439000 USD
CY2020 us-gaap Foreign Income Tax Expense Benefit Continuing Operations
ForeignIncomeTaxExpenseBenefitContinuingOperations
816000 USD
CY2019 us-gaap Foreign Income Tax Expense Benefit Continuing Operations
ForeignIncomeTaxExpenseBenefitContinuingOperations
2000 USD
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
5672000 USD
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2453000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2019 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2020 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
-0.022
CY2019 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
-0.045
CY2020 laws Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance Reversal Percent
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowanceReversalPercent
0
CY2019 laws Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance Reversal Percent
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowanceReversalPercent
-0.136
CY2020 laws Effective Income Tax Rate Reconciliation Capital Loss Percent
EffectiveIncomeTaxRateReconciliationCapitalLossPercent
0
CY2019 laws Effective Income Tax Rate Reconciliation Capital Loss Percent
EffectiveIncomeTaxRateReconciliationCapitalLossPercent
0.136
CY2020 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Percent
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
-0.020
CY2019 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Percent
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
-0.115
CY2020 laws Effective Income Tax Rate Reconciliation Compensation Deduction Limitation Percent
EffectiveIncomeTaxRateReconciliationCompensationDeductionLimitationPercent
0.015
CY2019 laws Effective Income Tax Rate Reconciliation Compensation Deduction Limitation Percent
EffectiveIncomeTaxRateReconciliationCompensationDeductionLimitationPercent
0.101
CY2020 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.038
CY2019 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.045
CY2020 us-gaap Effective Income Tax Rate Reconciliation Repatriation Of Foreign Earnings
EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
0
CY2019 us-gaap Effective Income Tax Rate Reconciliation Repatriation Of Foreign Earnings
EffectiveIncomeTaxRateReconciliationRepatriationOfForeignEarnings
0.031
CY2020 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Meals And Entertainment
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
0.006
CY2019 us-gaap Effective Income Tax Rate Reconciliation Nondeductible Expense Meals And Entertainment
EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment
0.018
CY2020 us-gaap Effective Income Tax Rate Reconciliation Tax Contingencies Other
EffectiveIncomeTaxRateReconciliationTaxContingenciesOther
0.046
CY2019 us-gaap Effective Income Tax Rate Reconciliation Tax Contingencies Other
EffectiveIncomeTaxRateReconciliationTaxContingenciesOther
-0.010
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.254
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards Domestic
DeferredTaxAssetsOperatingLossCarryforwardsDomestic
7200000 USD
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits
9947000 USD
CY2020Q4 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
1772000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation Tax Settlements Other
EffectiveIncomeTaxRateReconciliationTaxSettlementsOther
-0.001
CY2019 us-gaap Effective Income Tax Rate Reconciliation Tax Settlements Other
EffectiveIncomeTaxRateReconciliationTaxSettlementsOther
0.002
CY2020 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
0.001
CY2019 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
0.017
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.273
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards State And Local
DeferredTaxAssetsOperatingLossCarryforwardsStateAndLocal
7700000 USD
CY2019Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
1200000 USD
CY2020Q4 us-gaap Business Acquisition Purchase Price Allocation Goodwill Expected Tax Deductible Amount
BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount
35200000 USD
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
5431000 USD
CY2019Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
7786000 USD
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits
10980000 USD
CY2019Q4 us-gaap Deferred Tax Assets Inventory
DeferredTaxAssetsInventory
1589000 USD
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
167000 USD
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
152000 USD
CY2020Q4 laws Deferred Tax Assets Lease Assets
DeferredTaxAssetsLeaseAssets
1061000 USD
CY2019Q4 laws Deferred Tax Assets Lease Assets
DeferredTaxAssetsLeaseAssets
3326000 USD
CY2020Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
329000 USD
CY2019Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
146000 USD
CY2020Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
19740000 USD
CY2019Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
22946000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
1948000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
2360000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
1366000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Leasing Arrangements
DeferredTaxLiabilitiesLeasingArrangements
2850000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
-975000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
353000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
503000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
625000 USD
CY2020Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
2842000 USD
CY2019Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
6188000 USD
CY2020Q4 laws Deferred Tax Assets Net Of Deferred Tax Liabilities Before Valuation Allowance
DeferredTaxAssetsNetOfDeferredTaxLiabilitiesBeforeValuationAllowance
16898000 USD
CY2019Q4 laws Deferred Tax Assets Net Of Deferred Tax Liabilities Before Valuation Allowance
DeferredTaxAssetsNetOfDeferredTaxLiabilitiesBeforeValuationAllowance
16758000 USD
CY2020Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
1257000 USD
CY2019Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
1235000 USD
CY2020Q4 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
15641000 USD
CY2019Q4 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
15523000 USD
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
3242000 USD
CY2018Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
3612000 USD
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
15000 USD
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
13000 USD
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
1413000 USD
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
121000 USD
CY2020 us-gaap Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
0 USD
CY2019 us-gaap Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
29000 USD
CY2020 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
984000 USD
CY2019 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
475000 USD
CY2020Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
3686000 USD
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
3242000 USD
CY2020Q4 us-gaap Accrued Employee Benefits Current
AccruedEmployeeBenefitsCurrent
14437000 USD
CY2019Q4 us-gaap Accrued Employee Benefits Current
AccruedEmployeeBenefitsCurrent
14908000 USD
CY2020Q4 us-gaap Accrued Salaries Current
AccruedSalariesCurrent
9794000 USD
CY2019Q4 us-gaap Accrued Salaries Current
AccruedSalariesCurrent
9238000 USD
CY2020Q4 us-gaap Accrual For Taxes Other Than Income Taxes Current
AccrualForTaxesOtherThanIncomeTaxesCurrent
3788000 USD
CY2019Q4 us-gaap Accrual For Taxes Other Than Income Taxes Current
AccrualForTaxesOtherThanIncomeTaxesCurrent
4387000 USD
CY2020Q4 us-gaap Accrued Bonuses Current
AccruedBonusesCurrent
240000 USD
CY2019Q4 us-gaap Accrued Bonuses Current
AccruedBonusesCurrent
916000 USD
CY2020Q4 laws Accrued Severance Current
AccruedSeveranceCurrent
1103000 USD
CY2019Q4 laws Accrued Severance Current
AccruedSeveranceCurrent
778000 USD
CY2020Q4 us-gaap Deferred Revenue
DeferredRevenue
822000 USD
CY2019Q4 us-gaap Deferred Revenue
DeferredRevenue
648000 USD
CY2020Q4 laws Accrued Health Benefits
AccruedHealthBenefits
732000 USD
CY2019Q4 laws Accrued Health Benefits
AccruedHealthBenefits
578000 USD
CY2020Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
7576000 USD
CY2019Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
7858000 USD
CY2020Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
38492000 USD
CY2019Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
39311000 USD
CY2020 us-gaap Operating Lease Cost
OperatingLeaseCost
4999000 USD
CY2019 us-gaap Operating Lease Cost
OperatingLeaseCost
4729000 USD
CY2020 us-gaap Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
226000 USD
CY2019 us-gaap Finance Lease Right Of Use Asset Amortization
FinanceLeaseRightOfUseAssetAmortization
206000 USD
CY2020 us-gaap Finance Lease Interest Expense
FinanceLeaseInterestExpense
28000 USD
CY2019 us-gaap Finance Lease Interest Expense
FinanceLeaseInterestExpense
30000 USD
CY2020 laws Finance Lease Cost
FinanceLeaseCost
254000 USD
CY2019 laws Finance Lease Cost
FinanceLeaseCost
236000 USD
CY2020 us-gaap Sublease Income
SubleaseIncome
0 USD
CY2019 us-gaap Sublease Income
SubleaseIncome
160000 USD
CY2020 us-gaap Lease Cost
LeaseCost
5253000 USD
CY2019 us-gaap Lease Cost
LeaseCost
4805000 USD
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
8246000 USD
CY2019Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
10592000 USD
CY2020Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
518000 USD
CY2019Q4 us-gaap Finance Lease Right Of Use Asset
FinanceLeaseRightOfUseAsset
654000 USD
CY2020Q4 laws Lease Assets Rightof Use Asset
LeaseAssetsRightofUseAsset
8764000 USD
CY2019Q4 laws Lease Assets Rightof Use Asset
LeaseAssetsRightofUseAsset
11246000 USD
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
4360000 USD
CY2019Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
3591000 USD
CY2020Q4 us-gaap Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
208000 USD
CY2019Q4 us-gaap Finance Lease Liability Current
FinanceLeaseLiabilityCurrent
239000 USD
CY2020Q4 laws Lease Liability Current
LeaseLiabilityCurrent
4568000 USD
CY2019Q4 laws Lease Liability Current
LeaseLiabilityCurrent
3830000 USD
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
5498000 USD
CY2019Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
9133000 USD
CY2020Q4 us-gaap Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
240000 USD
CY2019Q4 us-gaap Finance Lease Liability Noncurrent
FinanceLeaseLiabilityNoncurrent
371000 USD
CY2020Q4 laws Lease Liability Noncurrent
LeaseLiabilityNoncurrent
5738000 USD
CY2019Q4 laws Lease Liability Noncurrent
LeaseLiabilityNoncurrent
9504000 USD
CY2020 us-gaap Operating Lease Right Of Use Asset Amortization Expense
OperatingLeaseRightOfUseAssetAmortizationExpense
5900000 USD
CY2019 us-gaap Operating Lease Right Of Use Asset Amortization Expense
OperatingLeaseRightOfUseAssetAmortizationExpense
1200000 USD
CY2020Q4 us-gaap Finance Lease Right Of Use Asset Accumulated Amortization
FinanceLeaseRightOfUseAssetAccumulatedAmortization
400000 USD
CY2019Q4 us-gaap Finance Lease Right Of Use Asset Accumulated Amortization
FinanceLeaseRightOfUseAssetAccumulatedAmortization
200000 USD
CY2020Q4 laws Net Lease Liability Payments Remainderof Fiscal Year
NetLeaseLiabilityPaymentsRemainderofFiscalYear
4938000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
3212000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Year Two
FinanceLeaseLiabilityPaymentsDueYearTwo
143000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
4719000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Next Twelve Months
FinanceLeaseLiabilityPaymentsDueNextTwelveMonths
219000 USD
CY2020Q4 laws Net Lease Liability Payments Due Year Two
NetLeaseLiabilityPaymentsDueYearTwo
3355000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
1471000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Year Three
FinanceLeaseLiabilityPaymentsDueYearThree
89000 USD
CY2020Q4 laws Net Lease Liability Payments Due Year Three
NetLeaseLiabilityPaymentsDueYearThree
1560000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
509000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Year Four
FinanceLeaseLiabilityPaymentsDueYearFour
25000 USD
CY2020Q4 laws Net Lease Liability Payments Due Year Four
NetLeaseLiabilityPaymentsDueYearFour
534000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
168000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due Year Five
FinanceLeaseLiabilityPaymentsDueYearFive
0 USD
CY2020Q4 laws Net Lease Liabilities Payments Due Year Five
NetLeaseLiabilitiesPaymentsDueYearFive
168000 USD
CY2020Q4 laws Net Lease Liability Payments Dueafter Year Five
NetLeaseLiabilityPaymentsDueafterYearFive
462000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
462000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due After Year Five
FinanceLeaseLiabilityPaymentsDueAfterYearFive
0 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
683000 USD
CY2020Q4 us-gaap Finance Lease Liability Undiscounted Excess Amount
FinanceLeaseLiabilityUndiscountedExcessAmount
28000 USD
CY2020Q4 laws Net Lease Liability Imputed Interest
NetLeaseLiabilityImputedInterest
711000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
10541000 USD
CY2020Q4 us-gaap Finance Lease Liability Payments Due
FinanceLeaseLiabilityPaymentsDue
476000 USD
CY2020Q4 laws Net Lease Liability Payments Due
NetLeaseLiabilityPaymentsDue
11017000 USD
CY2020Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
9858000 USD
CY2020Q4 us-gaap Finance Lease Liability
FinanceLeaseLiability
448000 USD
CY2020Q4 laws Net Lease Liability Present Value
NetLeaseLiabilityPresentValue
10306000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
10500000 USD
CY2020Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P2Y10M24D
CY2020Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.052
CY2020Q4 us-gaap Finance Lease Weighted Average Remaining Lease Term1
FinanceLeaseWeightedAverageRemainingLeaseTerm1
P2Y6M
CY2020Q4 us-gaap Finance Lease Weighted Average Discount Rate Percent
FinanceLeaseWeightedAverageDiscountRatePercent
0.053
CY2020 laws Operatingcashflowsfromoperatingleases
Operatingcashflowsfromoperatingleases
4256000 USD
CY2020 laws Operatingcashflowfromfinancingleases
Operatingcashflowfromfinancingleases
28000 USD
CY2020 laws Financingcashflowfromfinancingleases
Financingcashflowfromfinancingleases
257000 USD
CY2020 laws Potential Sharesfrom Msu Grants
PotentialSharesfromMSUGrants
32472 shares
CY2020 laws Ms Us Exchangedfor Shares
MSUsExchangedforShares
24035 shares
us-gaap Operating Lease Lease Income
OperatingLeaseLeaseIncome
900000 USD
CY2020Q4 laws Business Combination Consideration Liability Interest Rate
BusinessCombinationConsiderationLiabilityInterestRate
0.018
CY2020Q4 us-gaap Accrual For Environmental Loss Contingencies
AccrualForEnvironmentalLossContingencies
100000 USD
CY2020 us-gaap Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
2900000 USD
CY2019 us-gaap Defined Contribution Plan Cost Recognized
DefinedContributionPlanCostRecognized
3200000 USD
CY2020 laws Defined Contribution Retirement Plan Discretionary Employer Contribution
DefinedContributionRetirementPlanDiscretionaryEmployerContribution
200000 USD
CY2019 laws Defined Contribution Retirement Plan Discretionary Employer Contribution
DefinedContributionRetirementPlanDiscretionaryEmployerContribution
400000 USD
CY2020 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
200000 USD
CY2020Q4 us-gaap Cash Surrender Value Fair Value Disclosure
CashSurrenderValueFairValueDisclosure
6900000 USD
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Share Based Liabilities Paid
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid
500000 USD
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Share Based Liabilities Paid
ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsShareBasedLiabilitiesPaid
13400000 USD
CY2019Q4 laws Msu Outstanding Balance
MSUOutstandingBalance
139643 shares
CY2019Q4 laws Potential Sharesfrom Ms Us Outstanding
PotentialSharesfromMSUsOutstanding
199303 shares
CY2020 laws Msu Grants
MSUGrants
21648 shares
CY2020 laws Shares Issued On Vestingof Ms Us
SharesIssuedOnVestingofMSUs
36052 shares
CY2020Q4 laws Msu Outstanding Balance
MSUOutstandingBalance
137256 shares
CY2020Q4 laws Potential Sharesfrom Ms Us Outstanding
PotentialSharesfromMSUsOutstanding
195723 shares
CY2020Q4 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Stock Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
0 USD
CY2020Q4 us-gaap Share Based Compensation Shares Authorized Under Stock Option Plans Exercise Price Range Number Of Outstanding Options
ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
80000 shares
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
27.70
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
351591000 USD
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
370785000 USD
CY2020 us-gaap Gross Profit
GrossProfit
186538000 USD
CY2019 us-gaap Gross Profit
GrossProfit
197354000 USD
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
20550000 USD
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
9066000 USD
CY2020 us-gaap Interest Expense
InterestExpense
654000 USD
CY2019 us-gaap Interest Expense
InterestExpense
603000 USD
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
889000 USD
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
1211000 USD
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
2028000 USD
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
6701000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
20785000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
9674000 USD
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
1687000 USD
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
5893000 USD
CY2020Q4 us-gaap Equity Method Investments
EquityMethodInvestments
8719000 USD
CY2019Q4 us-gaap Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
7500000 USD
CY2019Q4 us-gaap Equity Method Investments
EquityMethodInvestments
8548000 USD
CY2020Q4 us-gaap Assets
Assets
256304000 USD
CY2019Q4 us-gaap Assets
Assets
204429000 USD
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
351591000 USD
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
370785000 USD
CY2020Q4 us-gaap Noncurrent Assets
NoncurrentAssets
78575000 USD
CY2019Q4 us-gaap Noncurrent Assets
NoncurrentAssets
61327000 USD
CY2020 us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
47504 shares
CY2020Q4 us-gaap Stock Repurchase Program Authorized Amount1
StockRepurchaseProgramAuthorizedAmount1
4500000 USD
CY2020 us-gaap Related Party Transaction Expenses From Transactions With Related Party
RelatedPartyTransactionExpensesFromTransactionsWithRelatedParty
900000 USD
CY2020Q1 laws Social Security Tax Employer Deferral Cares Act
SocialSecurityTaxEmployerDeferralCARESAct
3500000 USD
CY2020 laws Canada Emergency Wage Subsidy
CanadaEmergencyWageSubsidy
1400000 USD
CY2019 us-gaap Treasury Stock Shares Acquired
TreasuryStockSharesAcquired
32362 shares
CY2020 us-gaap Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
36.93
CY2019 us-gaap Treasury Stock Acquired Average Cost Per Share
TreasuryStockAcquiredAverageCostPerShare
38.13

Files In Submission

Name View Source Status
0000703604-21-000035-index-headers.html Edgar Link pending
0000703604-21-000035-index.html Edgar Link pending
0000703604-21-000035.txt Edgar Link pending
0000703604-21-000035-xbrl.zip Edgar Link pending
ex21_2020.htm Edgar Link pending
ex23_2020.htm Edgar Link pending
exhibit1023stockperforma.htm Edgar Link pending
exhibit1023stockperforma001.jpg Edgar Link pending
exhibit1023stockperforma002.jpg Edgar Link pending
exhibit1023stockperforma003.jpg Edgar Link pending
exhibit1023stockperforma004.jpg Edgar Link pending
exhibit1024equityplan.htm Edgar Link pending
exhibit1024equityplan001.jpg Edgar Link pending
exhibit1024equityplan002.jpg Edgar Link pending
exhibit1024equityplan003.jpg Edgar Link pending
exhibit1024equityplan004.jpg Edgar Link pending
exhibit4.htm Edgar Link pending
exhibit4001.jpg Edgar Link pending
exhibit4002.jpg Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
laws-20201231.htm Edgar Link pending
laws-20201231.xsd Edgar Link pending
laws-20201231_cal.xml Edgar Link unprocessable
laws-20201231_def.xml Edgar Link unprocessable
laws-20201231_g1.jpg Edgar Link pending
laws-20201231_htm.xml Edgar Link completed
laws-20201231_lab.xml Edgar Link unprocessable
laws-20201231_pre.xml Edgar Link unprocessable
laws-ex311_2020.htm Edgar Link pending
laws-ex312_2020.htm Edgar Link pending
laws-ex32_2020.htm Edgar Link pending
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
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R64.htm Edgar Link pending
R65.htm Edgar Link pending
R66.htm Edgar Link pending
R67.htm Edgar Link pending
R68.htm Edgar Link pending
R69.htm Edgar Link pending
R7.htm Edgar Link pending
R70.htm Edgar Link pending
R71.htm Edgar Link pending
R72.htm Edgar Link pending
R73.htm Edgar Link pending
R74.htm Edgar Link pending
R75.htm Edgar Link pending
R76.htm Edgar Link pending
R77.htm Edgar Link pending
R78.htm Edgar Link pending
R79.htm Edgar Link pending
R8.htm Edgar Link pending
R80.htm Edgar Link pending
R81.htm Edgar Link pending
R82.htm Edgar Link pending
R83.htm Edgar Link pending
R84.htm Edgar Link pending
R85.htm Edgar Link pending
R86.htm Edgar Link pending
R87.htm Edgar Link pending
R88.htm Edgar Link pending
R9.htm Edgar Link pending
R9999.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending