2021 Q1 Form 10-K Financial Statement

#000119312521082076 Filed on March 16, 2021

View on sec.gov

Income Statement

Concept 2021 Q1 2020 Q4 2020 Q3
Revenue $49.78M $48.71M $47.38M
YoY Change -1.29% -3.28% -4.36%
Cost Of Revenue $36.97M $35.64M $34.29M
YoY Change -1.95% -5.22% -7.85%
Gross Profit $12.80M $13.07M $13.09M
YoY Change 0.67% 2.44% 6.17%
Gross Profit Margin 25.72% 26.84% 27.63%
Selling, General & Admin $10.14M $8.536M $8.217M
YoY Change -0.99% -0.69% -4.3%
% of Gross Profit 79.21% 65.29% 62.77%
Research & Development
YoY Change
% of Gross Profit
Depreciation & Amortization $997.0K $990.0K $858.0K
YoY Change 14.2% 15.52% -1.27%
% of Gross Profit 7.79% 7.57% 6.55%
Operating Expenses $10.94M $9.328M $8.873M
YoY Change 6.76% 0.36% -4.17%
Operating Profit $1.869M $3.746M $4.217M
YoY Change -24.52% 8.02% 37.36%
Interest Expense -$232.0K -$196.0K -$164.0K
YoY Change -16.85% -45.4% -60.29%
% of Operating Profit -12.41% -5.23% -3.89%
Other Income/Expense, Net -$27.00K
YoY Change -181.82%
Pretax Income $1.637M $2.900M $4.026M
YoY Change -27.24% -7.67% 49.67%
Income Tax $443.0K $875.0K $1.028M
% Of Pretax Income 27.06% 30.17% 25.53%
Net Earnings $1.194M $2.025M $2.998M
YoY Change -36.12% -10.95% 53.82%
Net Earnings / Revenue 2.4% 4.16% 6.33%
Basic Earnings Per Share $0.10 $0.18 $0.26
Diluted Earnings Per Share $0.10 $0.17 $0.25
COMMON SHARES
Basic Shares Outstanding 11.42M 11.38M 11.38M
Diluted Shares Outstanding 12.04M

Balance Sheet

Concept 2021 Q1 2020 Q4 2020 Q3
SHORT-TERM ASSETS
Cash & Short-Term Investments $7.242M $7.677M $4.014M
YoY Change 181.24% 157.53% 104.48%
Cash & Equivalents $7.242M $7.677M $4.014M
Short-Term Investments
Other Short-Term Assets $1.238M $1.346M $2.647M
YoY Change 19.5% -15.72% 90.16%
Inventory
Prepaid Expenses
Receivables $36.21M $22.04M $18.73M
Other Receivables $0.00 $0.00 $0.00
Total Short-Term Assets $44.69M $41.16M $37.92M
YoY Change 20.1% 11.45% -1.03%
LONG-TERM ASSETS
Property, Plant & Equipment $5.094M $1.971M $2.133M
YoY Change 112.87% -20.4% -15.82%
Goodwill $32.51M $26.11M
YoY Change 24.53% 0.0%
Intangibles $21.93M $18.05M
YoY Change 9.38% -12.88%
Long-Term Investments
YoY Change
Other Assets $1.263M $1.192M $392.0K
YoY Change 225.52% 194.32% -4.39%
Total Long-Term Assets $60.00M $60.89M $50.33M
YoY Change 14.05% 13.48% -8.11%
TOTAL ASSETS
Total Short-Term Assets $44.69M $41.16M $37.92M
Total Long-Term Assets $60.00M $60.89M $50.33M
Total Assets $104.7M $102.0M $88.24M
YoY Change 16.56% 12.65% -5.19%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $3.915M $2.589M $3.114M
YoY Change 13.81% -35.71% -28.56%
Accrued Expenses $15.10M $14.50M $13.15M
YoY Change 31.04% 41.47% 4.65%
Deferred Revenue
YoY Change
Short-Term Debt $0.00 $0.00 $0.00
YoY Change -100.0%
Long-Term Debt Due $4.400M $4.400M $4.575M
YoY Change -48.46% -3.83% 0.0%
Total Short-Term Liabilities $23.82M $21.97M $20.94M
YoY Change 1.0% 15.09% -3.69%
LONG-TERM LIABILITIES
Long-Term Debt $11.80M $12.88M $3.865M
YoY Change -11.7% -37.75% -82.86%
Other Long-Term Liabilities $7.615M $7.667M $5.850M
YoY Change 137.67% 118.68% 50.39%
Total Long-Term Liabilities $19.41M $12.88M $3.865M
YoY Change 45.31% -37.75% -82.86%
TOTAL LIABILITIES
Total Short-Term Liabilities $23.82M $21.97M $20.94M
Total Long-Term Liabilities $19.41M $12.88M $3.865M
Total Liabilities $43.23M $42.51M $31.38M
YoY Change 5.46% -4.04% -36.3%
SHAREHOLDERS EQUITY
Retained Earnings $38.62M $36.60M
YoY Change 34.29% 38.17%
Common Stock $25.64M $25.03M
YoY Change 16.19% 14.68%
Preferred Stock
YoY Change
Treasury Stock (at cost) $4.187M $4.187M
YoY Change 0.0% 0.0%
Treasury Stock Shares $1.646M $1.646M
Shareholders Equity $61.46M $59.53M $56.86M
YoY Change
Total Liabilities & Shareholders Equity $104.7M $102.0M $88.24M
YoY Change 16.56% 12.65% -5.19%

Cashflow Statement

Concept 2021 Q1 2020 Q4 2020 Q3
OPERATING ACTIVITIES
Net Income $1.194M $2.025M $2.998M
YoY Change -36.12% -10.95% 53.82%
Depreciation, Depletion And Amortization $997.0K $990.0K $858.0K
YoY Change 14.2% 15.52% -1.27%
Cash From Operating Activities $774.0K $4.293M $5.363M
YoY Change -72.31% 42.11% 24.43%
INVESTING ACTIVITIES
Capital Expenditures -$128.0K -$38.00K -$105.0K
YoY Change -207.56% -70.31% -64.04%
Acquisitions
YoY Change
Other Investing Activities -$63.00K -$9.349M -$7.000K
YoY Change -470.59% -187080.0% -118.92%
Cash From Investing Activities -$191.0K -$9.387M -$112.0K
YoY Change 87.25% 7531.71% -56.08%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net
YoY Change
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities -999.0K 8.746M -6.087M
YoY Change -64.72% -580.02% 4.14%
NET CHANGE
Cash From Operating Activities 774.0K 4.293M 5.363M
Cash From Investing Activities -191.0K -9.387M -112.0K
Cash From Financing Activities -999.0K 8.746M -6.087M
Net Change In Cash -416.0K 3.652M -836.0K
YoY Change 2.46% 239.41% -53.3%
FREE CASH FLOW
Cash From Operating Activities $774.0K $4.293M $5.363M
Capital Expenditures -$128.0K -$38.00K -$105.0K
Free Cash Flow $902.0K $4.331M $5.468M
YoY Change -66.29% 37.54% 18.82%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
7677000
CY2019Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
2981000
CY2020Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
22036000
CY2019Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
22345000
CY2020Q4 us-gaap Unbilled Contracts Receivable
UnbilledContractsReceivable
10098000
CY2019Q4 us-gaap Unbilled Contracts Receivable
UnbilledContractsReceivable
10007000
CY2020Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
1346000
CY2019Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
1597000
CY2020Q4 us-gaap Assets Current
AssetsCurrent
41157000
CY2019Q4 us-gaap Assets Current
AssetsCurrent
36930000
CY2020Q4 us-gaap Machinery And Equipment Gross
MachineryAndEquipmentGross
1931000
CY2019Q4 us-gaap Machinery And Equipment Gross
MachineryAndEquipmentGross
1871000
CY2020Q4 us-gaap Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
2730000
CY2019Q4 us-gaap Capitalized Computer Software Gross
CapitalizedComputerSoftwareGross
2728000
CY2020Q4 us-gaap Leasehold Improvements Gross
LeaseholdImprovementsGross
563000
CY2019Q4 us-gaap Leasehold Improvements Gross
LeaseholdImprovementsGross
496000
CY2020Q4 us-gaap Deposits Assets Noncurrent
DepositsAssetsNoncurrent
396000
CY2019Q4 us-gaap Deposits Assets Noncurrent
DepositsAssetsNoncurrent
405000
CY2020Q4 us-gaap Goodwill
Goodwill
32510000
CY2019Q4 us-gaap Goodwill
Goodwill
26106000
CY2020Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
21930000
CY2019Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
20050000
CY2020Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
102046000
CY2019Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
90584000
CY2020Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
4400000
CY2019Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
4575000
CY2020Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
2589000
CY2019Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
4027000
CY2020Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
12374000
CY2019Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
7902000
CY2020Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
1051000
CY2019Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
954000
CY2020Q4 us-gaap Deferred Revenue Current
DeferredRevenueCurrent
478000
CY2019Q4 us-gaap Deferred Revenue Current
DeferredRevenueCurrent
237000
CY2020Q4 us-gaap Liabilities Current
LiabilitiesCurrent
21971000
CY2019Q4 us-gaap Liabilities Current
LiabilitiesCurrent
19091000
CY2020Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
12875000
CY2019Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
20682000
CY2020Q4 us-gaap Accrued Income Taxes Noncurrent
AccruedIncomeTaxesNoncurrent
165000
CY2020Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
3253000
CY2019Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
2619000
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
3286000
CY2019Q4 us-gaap Accrued Income Taxes Noncurrent
AccruedIncomeTaxesNoncurrent
185000
CY2020Q4 us-gaap Liabilities
Liabilities
42513000
CY2019Q4 us-gaap Liabilities
Liabilities
44304000
CY2020Q4 us-gaap Preferred Stock Value
PreferredStockValue
CY2019Q4 us-gaap Preferred Stock Value
PreferredStockValue
CY2020Q4 us-gaap Common Stock Value
CommonStockValue
130000
CY2019Q4 us-gaap Common Stock Value
CommonStockValue
127000
CY2020Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
25509000
CY2019Q4 us-gaap Additional Paid In Capital Common Stock
AdditionalPaidInCapitalCommonStock
21939000
CY2020Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
38620000
CY2019Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
28759000
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-539000
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-358000
CY2020Q4 us-gaap Treasury Stock Value
TreasuryStockValue
4187000
CY2019Q4 us-gaap Treasury Stock Value
TreasuryStockValue
4187000
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
59533000
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
46280000
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
1079000
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
2325000
CY2020 us-gaap Cost Of Revenue
CostOfRevenue
142562000
CY2019 us-gaap Cost Of Revenue
CostOfRevenue
145593000
CY2018 us-gaap Cost Of Revenue
CostOfRevenue
134636000
CY2018 us-gaap Gross Profit
GrossProfit
42528000
CY2020 us-gaap Operating Costs And Expenses
OperatingCostsAndExpenses
38136000
CY2019 us-gaap Operating Costs And Expenses
OperatingCostsAndExpenses
37063000
CY2018 us-gaap Operating Costs And Expenses
OperatingCostsAndExpenses
32221000
CY2019 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-6069000
CY2019 us-gaap Other Comprehensive Income Loss Before Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent
-278000
CY2020 us-gaap Operating Expenses
OperatingExpenses
38136000
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
13403000
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
16987000
CY2018 us-gaap Operating Income Loss
OperatingIncomeLoss
11625000
CY2020 us-gaap Interest Income Expense Nonoperating Net
InterestIncomeExpenseNonoperatingNet
-866000
CY2019 us-gaap Interest Income Expense Nonoperating Net
InterestIncomeExpenseNonoperatingNet
-1779000
CY2018 us-gaap Interest Income Expense Nonoperating Net
InterestIncomeExpenseNonoperatingNet
-2171000
CY2018 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
-40000
CY2020 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
96000
CY2019 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
11000
CY2019 us-gaap Operating Expenses
OperatingExpenses
30994000
CY2018 us-gaap Operating Expenses
OperatingExpenses
30903000
CY2020 us-gaap Net Income Loss
NetIncomeLoss
9861000
CY2019 us-gaap Net Income Loss
NetIncomeLoss
11145000
CY2018 us-gaap Net Income Loss
NetIncomeLoss
6691000
CY2020 us-gaap Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Before Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax
8000
CY2019 us-gaap Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Before Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax
-149000
CY2018 us-gaap Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Before Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodBeforeTax
96000
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
-187000
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
-129000
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentBeforeTax
-207000
CY2020 us-gaap Other Comprehensive Income Loss Before Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent
-179000
CY2018 us-gaap Other Comprehensive Income Loss Before Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossBeforeTaxPortionAttributableToParent
-111000
CY2020 us-gaap Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax
2000
CY2019 us-gaap Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax
-39000
CY2018 us-gaap Other Comprehensive Income Unrealized Gain Loss On Derivatives Arising During Period Tax
OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodTax
25000
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
9680000
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
10906000
CY2018 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
6555000
CY2017Q4 us-gaap Stockholders Equity
StockholdersEquity
27153000
CY2018 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-136000
CY2018 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
470000
CY2018 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
118000
CY2020 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-181000
CY2019 us-gaap Other Comprehensive Income Loss Net Of Tax Portion Attributable To Parent
OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
-239000
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
936000
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
2021000
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
34276000
CY2018 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
20000
CY2019 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
7000
CY2020 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
1330000
CY2019 us-gaap Treasury Stock Value Acquired Cost Method
TreasuryStockValueAcquiredCostMethod
13000
CY2019 us-gaap Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
168000
CY2020 us-gaap Profit Loss
ProfitLoss
9861000
CY2019 us-gaap Profit Loss
ProfitLoss
11145000
CY2018 us-gaap Profit Loss
ProfitLoss
6691000
CY2020 us-gaap Depreciation Amortization And Accretion Net
DepreciationAmortizationAndAccretionNet
3589000
CY2019 us-gaap Depreciation Amortization And Accretion Net
DepreciationAmortizationAndAccretionNet
3434000
CY2018 us-gaap Depreciation Amortization And Accretion Net
DepreciationAmortizationAndAccretionNet
3182000
CY2019 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
80000
CY2018 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
10000
CY2020 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
284000
CY2019 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
104000
CY2018 us-gaap Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
-1241000
CY2018 us-gaap Increase Decrease In Other Accrued Liabilities
IncreaseDecreaseInOtherAccruedLiabilities
-461000
CY2018 us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
-172000
CY2020 us-gaap Proceeds From Repayments Of Lines Of Credit
ProceedsFromRepaymentsOfLinesOfCredit
-9551000
CY2019 us-gaap Proceeds From Repayments Of Lines Of Credit
ProceedsFromRepaymentsOfLinesOfCredit
-3976000
CY2018 us-gaap Amortization Of Financing Costs
AmortizationOfFinancingCosts
100000
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
2021000
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
936000
CY2018 us-gaap Share Based Compensation
ShareBasedCompensation
470000
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-1821000
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
1322000
CY2018 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
171000
CY2020 us-gaap Increase Decrease In Accounts And Other Receivables
IncreaseDecreaseInAccountsAndOtherReceivables
-2133000
CY2019 us-gaap Increase Decrease In Accounts And Other Receivables
IncreaseDecreaseInAccountsAndOtherReceivables
-5648000
CY2020 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
-251000
CY2019 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
386000
CY2020 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-1613000
CY2019 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-100000
CY2020 us-gaap Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
6287000
CY2019 us-gaap Increase Decrease In Employee Related Liabilities
IncreaseDecreaseInEmployeeRelatedLiabilities
174000
CY2020 us-gaap Increase Decrease In Other Accrued Liabilities
IncreaseDecreaseInOtherAccruedLiabilities
91000
CY2019 us-gaap Increase Decrease In Other Accrued Liabilities
IncreaseDecreaseInOtherAccruedLiabilities
-264000
CY2020 us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
146000
CY2019 us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
-21000
CY2020 us-gaap Repayments Of Debt
RepaymentsOfDebt
15969000
CY2019 us-gaap Repayments Of Debt
RepaymentsOfDebt
9575000
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
298000
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
1014000
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-9634000
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-879000
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
21231000
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
16084000
CY2020 mhh Increase Decrease In Operating Lease Assets Net
IncreaseDecreaseInOperatingLeaseAssetsNet
-18000
CY2018 us-gaap Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
-7000
CY2020 mhh Payments For Recovery Of Noncurrent Deposits
PaymentsForRecoveryOfNoncurrentDeposits
-9000
CY2019 mhh Payments For Recovery Of Noncurrent Deposits
PaymentsForRecoveryOfNoncurrentDeposits
-135000
CY2020 us-gaap Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
222000
CY2020 mhh Longterm Accrued Income Taxes
LongtermAccruedIncomeTaxes
-20000
CY2019 mhh Longterm Accrued Income Taxes
LongtermAccruedIncomeTaxes
-19000
CY2018 mhh Longterm Accrued Income Taxes
LongtermAccruedIncomeTaxes
136000
CY2018 us-gaap Increase Decrease In Accounts And Other Receivables
IncreaseDecreaseInAccountsAndOtherReceivables
7428000
CY2018 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
-283000
CY2018 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-901000
CY2018 us-gaap Proceeds From Repayments Of Lines Of Credit
ProceedsFromRepaymentsOfLinesOfCredit
4526000
CY2018 us-gaap Repayments Of Debt
RepaymentsOfDebt
4003000
CY2019 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
7000
CY2018 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
118000
CY2020 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
1330000
CY2018 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
550000
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-6714000
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-13389000
CY2018 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
771000
CY2018 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-1056000
CY2018 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
-471000
CY2020 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
-187000
CY2019 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
-129000
CY2018 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
-207000
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
683000
CY2020Q4 us-gaap Intangible Assets Gross Excluding Goodwill
IntangibleAssetsGrossExcludingGoodwill
33099000
CY2019Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
8379000
CY2019Q4 us-gaap Intangible Assets Gross Excluding Goodwill
IntangibleAssetsGrossExcludingGoodwill
28429000
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
3168000
CY2020Q4 us-gaap Deferred Finance Costs Noncurrent Net
DeferredFinanceCostsNoncurrentNet
225000
CY2019Q4 us-gaap Deferred Finance Costs Noncurrent Net
DeferredFinanceCostsNoncurrentNet
263000
CY2020 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2020
CY2018 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-1184000
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
4696000
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
1687000
CY2018Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
1294000
CY2017Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
2478000
CY2020 us-gaap Interest Paid Net
InterestPaidNet
779000
CY2019 us-gaap Interest Paid Net
InterestPaidNet
1780000
CY2018 us-gaap Interest Paid Net
InterestPaidNet
2060000
CY2020 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
2681000
CY2019 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
2634000
CY2018 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
2031000
CY2018 mhh Payments For Recovery Of Noncurrent Deposits
PaymentsForRecoveryOfNoncurrentDeposits
285000
CY2018 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
71000
CY2018 us-gaap Payments For Repurchase Of Equity
PaymentsForRepurchaseOfEquity
20000
CY2019 us-gaap Payments For Repurchase Of Equity
PaymentsForRepurchaseOfEquity
13000
CY2020 mhh Maximum Percentage Of Billable Expenses On Revenue From Customer
MaximumPercentageOfBillableExpensesOnRevenueFromCustomer
0.02
CY2020 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
194101000
CY2019 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
193574000
CY2018 us-gaap Revenue From Contract With Customer Excluding Assessed Tax
RevenueFromContractWithCustomerExcludingAssessedTax
177164000
CY2020Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
11169000
CY2020Q4 us-gaap Debt Instrument Unused Borrowing Capacity Amount
DebtInstrumentUnusedBorrowingCapacityAmount
22000000
CY2019Q4 us-gaap Debt Instrument Unused Borrowing Capacity Amount
DebtInstrumentUnusedBorrowingCapacityAmount
13000000
CY2019Q1 us-gaap Operating Lease Liability
OperatingLeaseLiability
5700000
CY2020Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
3404000
CY2020Q4 us-gaap Lessee Operating Lease Discount Rate
LesseeOperatingLeaseDiscountRate
0.053
CY2020 us-gaap Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
1600000
CY2019 us-gaap Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
1600000
CY2018 us-gaap Operating Leases Rent Expense Net
OperatingLeasesRentExpenseNet
1400000
CY2017Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
674000
CY2017Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
3.43
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
495000
CY2018 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
52000
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
2.08
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
6000
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
3.20
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
1111000
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
4.95
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
6.48
CY2019 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
6000
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
1.18
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
67000
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
6.35
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
1721000
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
800000
CY2020 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
305000
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
207000
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
15.49
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
8.04
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
5.52
CY2020Q4 us-gaap Share Price
SharePrice
15.90
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
13100000
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Vested And Expected To Vest Outstanding Aggregate Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
4200000
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
4.36
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
4300000
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
44000
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
11232000
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
373000
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
655000
CY2018 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
529000
CY2017 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Vested In Period Fair Value1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1
228000
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
2009000
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
P7Y10M24D
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
9.40
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
386000
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Exercisable Weighted Average Remaining Contractual Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
P6Y3M18D
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
4.93
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.014
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.024
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.000
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.000
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.527
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.497
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P3Y10M24D
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P5Y
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice
6.36
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice
2.95
CY2020 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
590000
CY2019 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
252000
CY2018 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
128000
CY2020Q4 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Stock Options
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
5700000
CY2020 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
P3Y
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Shares Purchased For Award
ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward
0
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Shares Purchased For Award
ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward
2574
CY2020 us-gaap Employee Stock Ownership Plan Esop Weighted Average Purchase Price Of Shares Purchased
EmployeeStockOwnershipPlanESOPWeightedAveragePurchasePriceOfSharesPurchased
0
CY2019 us-gaap Employee Stock Ownership Plan Esop Weighted Average Purchase Price Of Shares Purchased
EmployeeStockOwnershipPlanESOPWeightedAveragePurchasePriceOfSharesPurchased
5.05
CY2020 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
0
CY2019 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
518000
CY2018 us-gaap Antidilutive Securities Excluded From Computation Of Earnings Per Share Amount
AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
141000
CY2020 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
658000
CY2019 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
203000
CY2018 us-gaap Weighted Average Number Diluted Shares Outstanding Adjustment
WeightedAverageNumberDilutedSharesOutstandingAdjustment
211000
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
11292000
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
11029000
CY2018 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
10950000
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.87
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
11950000
CY2018 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
11161000
CY2017Q4 us-gaap Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
10000
CY2017Q4 us-gaap Aoci Loss Cash Flow Hedge Cumulative Gain Loss After Tax
AociLossCashFlowHedgeCumulativeGainLossAfterTax
7000
CY2017Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
17000
CY2018 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
-207000
CY2018 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
98000
CY2018 mhh Other Comprehensive Income Gain Loss Arising During The Period Before Reclassification And Tax
OtherComprehensiveIncomeGainLossArisingDuringThePeriodBeforeReclassificationAndTax
-109000
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Reclassification Adjustment From Aoci Realized Upon Sale Or Liquidation Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationReclassificationAdjustmentFromAOCIRealizedUponSaleOrLiquidationBeforeTax
0
CY2018 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
-2000
CY2018 us-gaap Reclassification From Aoci Current Period Before Tax Attributable To Parent
ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent
-2000
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Translation Adjustment Tax
OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
0
CY2018 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
-25000
CY2018 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
-25000
CY2018 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-136000
CY2018Q4 us-gaap Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
-197000
CY2019 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
-129000
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Reclassification Adjustment From Aoci Realized Upon Sale Or Liquidation Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationReclassificationAdjustmentFromAOCIRealizedUponSaleOrLiquidationBeforeTax
0
CY2018 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
71000
CY2019 us-gaap Reclassification From Aoci Current Period Before Tax Attributable To Parent
ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent
32000
CY2019 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
39000
CY2020 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
-2000
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Reclassification Adjustment From Aoci Realized Upon Sale Or Liquidation Before Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationReclassificationAdjustmentFromAOCIRealizedUponSaleOrLiquidationBeforeTax
0
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Translation Adjustment Tax
OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
0
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Translation Adjustment Tax
OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
0
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
-513000
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Foreign Currency Translation Adjustment Net Of Tax
AccumulatedOtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentNetOfTax
-326000
CY2020Q1 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.16
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
-181000
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
32000
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Reclassification Before Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossReclassificationBeforeTax
121000
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
39000
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationTax
-2000
CY2018Q4 us-gaap Aoci Loss Cash Flow Hedge Cumulative Gain Loss After Tax
AociLossCashFlowHedgeCumulativeGainLossAfterTax
78000
CY2019Q4 us-gaap Aoci Loss Cash Flow Hedge Cumulative Gain Loss After Tax
AociLossCashFlowHedgeCumulativeGainLossAfterTax
-32000
CY2020Q2 us-gaap Revenues
Revenues
47583000
CY2020Q2 us-gaap Gross Profit
GrossProfit
12656000
CY2020Q2 us-gaap Net Income Loss
NetIncomeLoss
2969000
CY2020Q4 us-gaap Aoci Loss Cash Flow Hedge Cumulative Gain Loss After Tax
AociLossCashFlowHedgeCumulativeGainLossAfterTax
-26000
CY2019 mhh Other Comprehensive Income Gain Loss Arising During The Period Before Reclassification And Tax
OtherComprehensiveIncomeGainLossArisingDuringThePeriodBeforeReclassificationAndTax
-310000
CY2020 us-gaap Reclassification From Aoci Current Period Before Tax Attributable To Parent
ReclassificationFromAociCurrentPeriodBeforeTaxAttributableToParent
121000
CY2020Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.26
CY2020Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.25
CY2020Q3 us-gaap Revenues
Revenues
47383000
CY2020Q3 us-gaap Gross Profit
GrossProfit
13090000
CY2018Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-119000
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
6000
CY2019 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss After Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
-110000
CY2019 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-239000
CY2020 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-181000
CY2019Q4 us-gaap Business Combination Contingent Consideration Liability Noncurrent
BusinessCombinationContingentConsiderationLiabilityNoncurrent
0
CY2018Q4 us-gaap Business Combination Contingent Consideration Liability Noncurrent
BusinessCombinationContingentConsiderationLiabilityNoncurrent
6069000
CY2017Q4 us-gaap Business Combination Contingent Consideration Liability Noncurrent
BusinessCombinationContingentConsiderationLiabilityNoncurrent
17125000
CY2020 mhh Business Combination Contingent Consideration Liability Cash Payments
BusinessCombinationContingentConsiderationLiabilityCashPayments
0
CY2019 mhh Business Combination Contingent Consideration Liability Cash Payments
BusinessCombinationContingentConsiderationLiabilityCashPayments
0
CY2018 mhh Business Combination Contingent Consideration Liability Cash Payments
BusinessCombinationContingentConsiderationLiabilityCashPayments
0
CY2020Q1 us-gaap Revenues
Revenues
50425000
CY2020Q1 us-gaap Gross Profit
GrossProfit
12719000
CY2020Q1 us-gaap Net Income Loss
NetIncomeLoss
1869000
CY2020Q1 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.17
CY2020Q3 us-gaap Net Income Loss
NetIncomeLoss
2998000
CY2020Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.26
CY2020Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.25
CY2020Q4 us-gaap Revenues
Revenues
48710000
CY2020 us-gaap Revenues
Revenues
194101000
CY2020 us-gaap Gross Profit
GrossProfit
51539000
CY2020Q4 us-gaap Gross Profit
GrossProfit
13074000
CY2020Q4 us-gaap Net Income Loss
NetIncomeLoss
2025000
CY2020Q4 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.18
CY2020Q4 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.17
CY2018 us-gaap Revenues
Revenues
177164000
CY2020 mhh Interest Expenses And Other Net
InterestExpensesAndOtherNet
-770000
CY2019Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2019Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
12700660
CY2020Q4 us-gaap Assets
Assets
102046000
CY2019Q4 us-gaap Assets
Assets
90584000
CY2018Q4 us-gaap Assets
Assets
92584000
CY2020 mhh Payments And Capital Expenditures Incurred But Not Yet Paid To Acquire Property Plant And Equipment
PaymentsAndCapitalExpendituresIncurredButNotYetPaidToAcquirePropertyPlantAndEquipment
298000
CY2019 mhh Payments And Capital Expenditures Incurred But Not Yet Paid To Acquire Property Plant And Equipment
PaymentsAndCapitalExpendituresIncurredButNotYetPaidToAcquirePropertyPlantAndEquipment
1014000
CY2018 mhh Payments And Capital Expenditures Incurred But Not Yet Paid To Acquire Property Plant And Equipment
PaymentsAndCapitalExpendituresIncurredButNotYetPaidToAcquirePropertyPlantAndEquipment
771000
CY2020 mhh Gross Margin Percentage
GrossMarginPercentage
0.266
CY2019 mhh Gross Margin Percentage
GrossMarginPercentage
0.248
CY2018 mhh Gross Margin Percentage
GrossMarginPercentage
0.240
CY2020Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
1646420
CY2018 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2727000
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2790000
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
2688000
CY2018 mhh Interest Expenses And Other Net
InterestExpensesAndOtherNet
-2211000
CY2019 mhh Interest Expenses And Other Net
InterestExpensesAndOtherNet
-1768000
CY2019Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
5095000
CY2019Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
4617000
CY2020Q4 us-gaap Deferred Income Tax Assets Net
DeferredIncomeTaxAssetsNet
796000
CY2019Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
1396000
CY2020 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2019 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-6069000
CY2018 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
-140000
CY2020 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
650000
CY2019 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
-110000
CY2020 dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
CY2020 dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
CY2020 dei Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
No
CY2020 dei Entity Voluntary Filers
EntityVoluntaryFilers
No
CY2020 dei Entity Filer Category
EntityFilerCategory
Accelerated Filer
CY2020 dei Entity Registrant Name
EntityRegistrantName
Mastech Digital, Inc.
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
1971000
CY2020 dei Document Type
DocumentType
10-K
CY2020 dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2020 dei Amendment Flag
AmendmentFlag
false
CY2020 dei Document Period End Date
DocumentPeriodEndDate
2020-12-31
CY2020 dei Security12b Title
Security12bTitle
Common Stock
CY2020 dei Trading Symbol
TradingSymbol
MHH
CY2020 dei Security Exchange Name
SecurityExchangeName
NYSE
CY2020 dei Entity Address State Or Province
EntityAddressStateOrProvince
PA
CY2020 dei Entity Small Business
EntitySmallBusiness
true
CY2020 dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
CY2020 dei Entity Shell Company
EntityShellCompany
false
CY2020Q2 dei Entity Public Float
EntityPublicFloat
81727000
CY2021Q1 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
11417953
CY2020Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
5224000
CY2019Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
1646420
CY2018 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-11056000
CY2020 us-gaap Stock Issued During Period Value Employee Stock Purchase Plan
StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
222000
CY2018 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
9738000
CY2019 mhh Increase Decrease In Operating Lease Assets Net
IncreaseDecreaseInOperatingLeaseAssetsNet
-100000
CY2020 dei Entity Central Index Key
EntityCentralIndexKey
0001437226
CY2020Q4 us-gaap Business Combination Contingent Consideration Liability Noncurrent
BusinessCombinationContingentConsiderationLiabilityNoncurrent
2882000
CY2019Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
3321000
CY2019Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
1025000
CY2020Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2019Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
413000
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
338000
CY2020Q4 us-gaap Preferred Stock No Par Value
PreferredStockNoParValue
0
CY2020Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
20000000
CY2020Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2019Q4 us-gaap Preferred Stock No Par Value
PreferredStockNoParValue
0
CY2019Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
20000000
CY2019Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
250000000
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
13039893
CY2020 us-gaap Gain Loss On Disposition Of Assets
GainLossOnDispositionOfAssets
-4000
CY2020 us-gaap Payment For Contingent Consideration Liability Investing Activities
PaymentForContingentConsiderationLiabilityInvestingActivities
9345000
CY2020 us-gaap Proceeds From Issuance Of Debt
ProceedsFromIssuanceOfDebt
17500000
CY2019 us-gaap Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
168000
CY2020 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
246000
CY2020 us-gaap Use Of Estimates
UseOfEstimates
<div style="font-family: times new roman; font-size: 10pt; margin-top: 18pt; margin-bottom: 0pt; margin-left: 4%;"><div style="font-family: &quot;times new roman&quot;; font-size: 10pt; color: rgb(0, 0, 0); letter-spacing: 0px; top: 0px;;display:inline;"><div style="font-weight:bold;display:inline;">Use of Estimates </div></div></div> <div style="text-indent: 4%; font-family: times new roman; font-size: 10pt; margin-top: 6pt; margin-bottom: 0pt;"><div style="font-family: &quot;times new roman&quot;; font-size: 10pt; color: rgb(0, 0, 0); letter-spacing: 0px; top: 0px;;display:inline;">The preparation of financial statements in conformity with GAAP 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 the reported amounts of revenues and expenses during the periods presented. Actual results could differ from these estimates. </div></div> <table border="0" style="width:100%; table-layout:fixed;" cellspacing="0" cellpadding="0"><tr><td></td></tr></table>
CY2019Q4 us-gaap Gross Profit
GrossProfit
12763000
CY2019Q1 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
5700000
CY2020 us-gaap Stockholders Equity Note Stock Split
StockholdersEquityNoteStockSplit
two-for-one
CY2020 us-gaap Stock Repurchase Program Expiration Date
StockRepurchaseProgramExpirationDate
2016-12-22
CY2020 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
2987000
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
2772000
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
2693000
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
2553000
CY2020Q4 us-gaap Restricted Cash And Cash Equivalents
RestrictedCashAndCashEquivalents
0
CY2019Q4 us-gaap Restricted Cash And Cash Equivalents
RestrictedCashAndCashEquivalents
0
CY2020Q4 us-gaap Long Term Debt And Capital Lease Obligations Repayments Of Principal In Next Twelve Months
LongTermDebtAndCapitalLeaseObligationsRepaymentsOfPrincipalInNextTwelveMonths
4400000
CY2020Q4 us-gaap Long Term Debt And Capital Lease Obligations Maturities Repayments Of Principal In Year Two
LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearTwo
4400000
CY2020Q4 us-gaap Long Term Debt And Capital Lease Obligations Maturities Repayments Of Principal In Year Three
LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearThree
8700000
CY2020Q4 us-gaap Long Term Debt And Capital Lease Obligations
LongTermDebtAndCapitalLeaseObligations
17500000
CY2020Q4 us-gaap Area Of Land
AreaOfLand
86000
CY2020Q4 us-gaap Lessee Operating Lease Term Of Contract
LesseeOperatingLeaseTermOfContract
P4Y
CY2019Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
4717000
CY2020Q4 us-gaap Operating Leases Future Minimum Payments Receivable Current
OperatingLeasesFutureMinimumPaymentsReceivableCurrent
1243000
CY2020Q4 us-gaap Operating Leases Future Minimum Payments Receivable In Two Years
OperatingLeasesFutureMinimumPaymentsReceivableInTwoYears
1128000
CY2020Q4 us-gaap Operating Leases Future Minimum Payments Receivable In Three Years
OperatingLeasesFutureMinimumPaymentsReceivableInThreeYears
1080000
CY2020Q4 us-gaap Operating Leases Future Minimum Payments Receivable In Four Years
OperatingLeasesFutureMinimumPaymentsReceivableInFourYears
287000
CY2020Q4 us-gaap Operating Leases Future Minimum Payments Receivable In Five Years
OperatingLeasesFutureMinimumPaymentsReceivableInFiveYears
0
CY2020Q4 us-gaap Operating Leases Future Minimum Payments Receivable Thereafter
OperatingLeasesFutureMinimumPaymentsReceivableThereafter
0
CY2020Q4 us-gaap Operating Leases Future Minimum Payments Receivable
OperatingLeasesFutureMinimumPaymentsReceivable
3738000
CY2020Q4 mhh Imputed Interest In Respect Of Operating Leases Future Minimum Rentals Payable
ImputedInterestInRespectOfOperatingLeasesFutureMinimumRentalsPayable
334000
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
1700000
CY2019 us-gaap Operating Lease Payments
OperatingLeasePayments
1600000
CY2018 us-gaap Operating Lease Payments
OperatingLeasePayments
1300000
CY2020 us-gaap Capital Lease Obligations Incurred
CapitalLeaseObligationsIncurred
200000
CY2019 us-gaap Capital Lease Obligations Incurred
CapitalLeaseObligationsIncurred
500000
CY2018 us-gaap Capital Lease Obligations Incurred
CapitalLeaseObligationsIncurred
800000
CY2020 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
0
CY2019 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
0
CY2018 us-gaap Defined Contribution Plan Employer Discretionary Contribution Amount
DefinedContributionPlanEmployerDiscretionaryContributionAmount
0
CY2020Q4 us-gaap Long Term Debt And Capital Lease Obligations Maturities Repayments Of Principal In Year Four
LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearFour
0
CY2020Q4 us-gaap Long Term Debt And Capital Lease Obligations Maturities Repayments Of Principal In Year Five
LongTermDebtAndCapitalLeaseObligationsMaturitiesRepaymentsOfPrincipalInYearFive
0
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Number Of Shares Authorized
ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
4900000
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Expiration Period
SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
P10Y
CY2018 us-gaap Business Combination Contingent Consideration Arrangements Change In Amount Of Contingent Consideration Liability1
BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1
-11056000
CY2018 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
9738000
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
2476000
CY2018Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
2208000
CY2019 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P5Y
CY2018 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P5Y
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Method Used
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsMethodUsed
The fair value of the six-month &#8220;look-back&#8221; option in the Company&#8217;s employee stock purchase plans is estimated by adding the fair value of 15% of one share of stock to the fair value of 85% of an option on one share of stock.
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
6.72
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.028
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.000
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.506
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePrice
3.15
CY2018 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P5Y
CY2018 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.61
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.83
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.99
CY2018 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.60
CY2020 us-gaap Other Comprehensive Income Foreign Currency Transaction And Translation Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossBeforeReclassificationAndTax
-187000
CY2020Q4 mhh Accruedpayrolltaxesnoncurrent
Accruedpayrolltaxesnoncurrent
2295000
CY2020Q4 us-gaap Line Of Credit Facility Maximum Borrowing Capacity
LineOfCreditFacilityMaximumBorrowingCapacity
15000000
CY2019Q1 us-gaap Revenues
Revenues
45199000
CY2019Q1 us-gaap Gross Profit
GrossProfit
10835000
CY2019Q1 us-gaap Net Income Loss
NetIncomeLoss
964000
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.01
CY2020Q4 us-gaap Business Combination Contingent Consideration Liability
BusinessCombinationContingentConsiderationLiability
2882000
CY2020 us-gaap Other Comprehensive Income Loss Cash Flow Hedge Gain Loss Before Reclassification And Tax
OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
-113000
CY2020 mhh Other Comprehensive Income Gain Loss Arising During The Period Before Reclassification And Tax
OtherComprehensiveIncomeGainLossArisingDuringThePeriodBeforeReclassificationAndTax
-300000
CY2019Q1 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.09
CY2019Q1 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.09
CY2019Q2 us-gaap Revenues
Revenues
48472000
CY2019Q2 us-gaap Gross Profit
GrossProfit
12054000
CY2019Q2 us-gaap Net Income Loss
NetIncomeLoss
5958000
CY2019Q2 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.54
CY2019Q2 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.53
CY2019Q3 us-gaap Revenues
Revenues
49543000
CY2019Q3 us-gaap Gross Profit
GrossProfit
12329000
CY2019Q3 us-gaap Net Income Loss
NetIncomeLoss
1949000
CY2019Q3 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.18
CY2019Q3 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.17
CY2019Q4 us-gaap Revenues
Revenues
50360000
CY2019Q4 us-gaap Net Income Loss
NetIncomeLoss
2274000
CY2019Q4 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.21
CY2019Q4 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.20
CY2019 us-gaap Revenues
Revenues
193574000
CY2019 us-gaap Gross Profit
GrossProfit
47981000
CY2020 dei Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
true
CY2020Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2019Q4 us-gaap Common Stock Par Or Stated Value Per Share
CommonStockParOrStatedValuePerShare
0.01
CY2020 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
2
CY2020 dei Document Annual Report
DocumentAnnualReport
true
CY2020 dei Document Transition Report
DocumentTransitionReport
false
CY2018 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
387000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
11476000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
6787000
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
7520000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
1157000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
8432000
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
1894000
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
12633000
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
15219000
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
9414000
CY2020 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
3044000
CY2019 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
1555000
CY2018 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
1494000
CY2020 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
752000
CY2019 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
406000
CY2018 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
273000
CY2020 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
797000
CY2019 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
751000
CY2018 us-gaap Current Foreign Tax Expense Benefit
CurrentForeignTaxExpenseBenefit
807000
CY2020 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
4593000
CY2019 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
2712000
CY2018 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
2574000
CY2020 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-1340000
CY2019 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-13000
CY2018 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
317000
CY2020 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-327000
CY2019 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-4000
CY2018 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
96000
CY2020 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-326000
CY2019 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.027
CY2019 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
1372000
CY2018 us-gaap Deferred Foreign Income Tax Expense Benefit
DeferredForeignIncomeTaxExpenseBenefit
-264000
CY2020 us-gaap Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
-1993000
CY2019 us-gaap Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
1355000
CY2018 us-gaap Deferred Federal State And Local Tax Expense Benefit
DeferredFederalStateAndLocalTaxExpenseBenefit
149000
CY2020 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
2653000
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
3196000
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
1977000
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
602000
CY2020 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.047
CY2019 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
404000
CY2018 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.041
CY2020 mhh Income Tax Reconciliation Changes In Excess Tax Benefit From Stock Options And Restricted Shares
IncomeTaxReconciliationChangesInExcessTaxBenefitFromStockOptionsAndRestrictedShares
920000
CY2020 mhh Effective Income Tax Rate Reconciliation Changes In Excess Tax Benefit From Stock Options And Restricted Shares
EffectiveIncomeTaxRateReconciliationChangesInExcessTaxBenefitFromStockOptionsAndRestrictedShares
-0.073
CY2019 mhh Income Tax Reconciliation Changes In Excess Tax Benefit From Stock Options And Restricted Shares
IncomeTaxReconciliationChangesInExcessTaxBenefitFromStockOptionsAndRestrictedShares
9000
CY2019 mhh Effective Income Tax Rate Reconciliation Changes In Excess Tax Benefit From Stock Options And Restricted Shares
EffectiveIncomeTaxRateReconciliationChangesInExcessTaxBenefitFromStockOptionsAndRestrictedShares
-0.001
CY2018 mhh Income Tax Reconciliation Changes In Excess Tax Benefit From Stock Options And Restricted Shares
IncomeTaxReconciliationChangesInExcessTaxBenefitFromStockOptionsAndRestrictedShares
93000
CY2018 mhh Effective Income Tax Rate Reconciliation Changes In Excess Tax Benefit From Stock Options And Restricted Shares
EffectiveIncomeTaxRateReconciliationChangesInExcessTaxBenefitFromStockOptionsAndRestrictedShares
-0.010
CY2018 us-gaap Income Tax Reconciliation Change In Enacted Tax Rate
IncomeTaxReconciliationChangeInEnactedTaxRate
251000
CY2018 us-gaap Effective Income Tax Rate Reconciliation Change In Enacted Tax Rate
EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate
0.027
CY2020 mhh Income Tax Reconciliation Charge For Global Intangible Low Taxed Income
IncomeTaxReconciliationChargeForGlobalIntangibleLowTaxedIncome
-20000
CY2020 mhh Effective Income Tax Rate Reconciliation Charge For Global Intangible Low Taxed Rate
EffectiveIncomeTaxRateReconciliationChargeForGlobalIntangibleLowTaxedRate
-0.002
CY2019 mhh Income Tax Reconciliation Charge For Global Intangible Low Taxed Income
IncomeTaxReconciliationChargeForGlobalIntangibleLowTaxedIncome
69000
CY2019 mhh Effective Income Tax Rate Reconciliation Charge For Global Intangible Low Taxed Rate
EffectiveIncomeTaxRateReconciliationChargeForGlobalIntangibleLowTaxedRate
0.005
CY2020 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
285000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
0.023
CY2019 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
407000
CY2019 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
0.027
CY2018 us-gaap Income Tax Reconciliation Foreign Income Tax Rate Differential
IncomeTaxReconciliationForeignIncomeTaxRateDifferential
201000
CY2018 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
0.021
CY2020 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
172000
CY2020 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.014
CY2019 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
7000
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2772000
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.219
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
4074000
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.268
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2723000
CY2018 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.289
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
101000
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Allowance For Doubtful Accounts
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
88000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Compensation
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
457000
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Employee Compensation
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
315000
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
738000
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
396000
CY2020Q4 mhh Deferred Tax Assets Tax Deferred Expense Covid19 Payroll Tax Deferment
DeferredTaxAssetsTaxDeferredExpenseCovid19PayrollTaxDeferment
1207000
CY2020Q4 mhh Deferred Tax Assets Tax Deferred Expense Business Acquisition Transaction Costs
DeferredTaxAssetsTaxDeferredExpenseBusinessAcquisitionTransactionCosts
515000
CY2019Q4 mhh Deferred Tax Assets Tax Deferred Expense Business Acquisition Transaction Costs
DeferredTaxAssetsTaxDeferredExpenseBusinessAcquisitionTransactionCosts
414000
CY2020Q4 mhh Deferred Tax Assets Tax Deferred Expense Operating Losses Net
DeferredTaxAssetsTaxDeferredExpenseOperatingLossesNet
179000
CY2019Q4 mhh Deferred Tax Assets Tax Deferred Expense Operating Losses Net
DeferredTaxAssetsTaxDeferredExpenseOperatingLossesNet
7000
CY2020Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
3197000
CY2019Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
1220000
CY2020Q4 us-gaap Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
217000
CY2019Q4 us-gaap Deferred Tax Liabilities Prepaid Expenses
DeferredTaxLiabilitiesPrepaidExpenses
221000
CY2020 us-gaap Goodwill Other Increase Decrease
GoodwillOtherIncreaseDecrease
-2005000
CY2019 us-gaap Goodwill Other Increase Decrease
GoodwillOtherIncreaseDecrease
-2017000
CY2020Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
2222000
CY2019Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
2238000
CY2020Q4 mhh Deferred Tax Liabilities Valuation Allowance
DeferredTaxLiabilitiesValuationAllowance
179000
CY2019Q4 mhh Deferred Tax Liabilities Valuation Allowance
DeferredTaxLiabilitiesValuationAllowance
7000
CY2020Q4 us-gaap Deferred Tax Assets Liabilities Net
DeferredTaxAssetsLiabilitiesNet
796000
CY2019Q4 mhh Deferred Tax Liabilities Net
DeferredTaxLiabilitiesNet
1025000
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
20000
CY2018Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
263000
CY2017Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
95000
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
0
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
0
CY2018 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
208000
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
0
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
0
CY2018 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
0
CY2020 us-gaap Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
20000
CY2019 us-gaap Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
243000
CY2018 us-gaap Unrecognized Tax Benefits Decreases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
40000
CY2020Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
0
CY2020Q4 mhh Deferred Tax Liabilities Valuation Allowance
DeferredTaxLiabilitiesValuationAllowance
179000
CY2019Q4 mhh Deferred Tax Liabilities Valuation Allowance
DeferredTaxLiabilitiesValuationAllowance
7000

Files In Submission

Name View Source Status
0001193125-21-082076-index-headers.html Edgar Link pending
0001193125-21-082076-index.html Edgar Link pending
0001193125-21-082076.txt Edgar Link pending
0001193125-21-082076-xbrl.zip Edgar Link pending
d116994d10k.htm Edgar Link pending
d116994dex1023.htm Edgar Link pending
d116994dex211.htm Edgar Link pending
d116994dex231.htm Edgar Link pending
d116994dex311.htm Edgar Link pending
d116994dex312.htm Edgar Link pending
d116994dex321.htm Edgar Link pending
d116994dex322.htm Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
g116994g24y99.jpg Edgar Link pending
mhh-20201231.xml Edgar Link completed
mhh-20201231.xsd Edgar Link pending
mhh-20201231_cal.xml Edgar Link unprocessable
mhh-20201231_def.xml Edgar Link unprocessable
mhh-20201231_lab.xml Edgar Link unprocessable
mhh-20201231_pre.xml Edgar Link unprocessable
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
R89.htm Edgar Link pending
R9.htm Edgar Link pending
R90.htm Edgar Link pending
R91.htm Edgar Link pending
R92.htm Edgar Link pending
R93.htm Edgar Link pending
R94.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending