2020 Q4 Form 10-K Financial Statement

#000091256221000007 Filed on February 25, 2021

View on sec.gov

Income Statement

Concept 2020 Q4 2019 Q4 2019 Q3
Revenue $265.2M $226.0M $260.8M
YoY Change 17.33% -6.18% -6.89%
Cost Of Revenue $125.5M $73.00M $222.7M
YoY Change 71.92% 35.19% 6.13%
Gross Profit $62.43M $57.43M $68.74M
YoY Change 8.71% 7.82% -2.18%
Gross Profit Margin 23.54% 25.41% 26.36%
Selling, General & Admin $26.50M $23.20M $45.16M
YoY Change 14.22% 77.1% 10.48%
% of Gross Profit 42.45% 40.4% 65.69%
Research & Development
YoY Change
% of Gross Profit
Depreciation & Amortization $3.600M $5.000M $5.000M
YoY Change -28.0% 0.0% -1.96%
% of Gross Profit 5.77% 8.71% 7.27%
Operating Expenses $26.60M $23.20M $45.16M
YoY Change 14.66% 77.1% 10.48%
Operating Profit $22.72M $20.23M $28.31M
YoY Change 12.3% 9.68% -3.71%
Interest Expense -$300.0K $0.00 $17.00K
YoY Change -100.0% -99.42%
% of Operating Profit -1.32% 0.0% 0.06%
Other Income/Expense, Net -$300.0K $300.0K -$84.00K
YoY Change -200.0% -108.82% -83.91%
Pretax Income $13.00M $12.40M $31.32M
YoY Change 4.84% 1277.78% 20.57%
Income Tax $2.800M $3.300M $6.843M
% Of Pretax Income 21.54% 26.61% 21.85%
Net Earnings -$8.545M $14.36M $24.48M
YoY Change -159.52% 9.45% 25.5%
Net Earnings / Revenue -3.22% 6.35% 9.39%
Basic Earnings Per Share
Diluted Earnings Per Share -$259.1K $437.7K $747.0K
COMMON SHARES
Basic Shares Outstanding 32.52M shares 32.27M shares 32.47M shares
Diluted Shares Outstanding 32.77M shares

Balance Sheet

Concept 2020 Q4 2019 Q4 2019 Q3
SHORT-TERM ASSETS
Cash & Short-Term Investments $32.10M $191.4M $137.6M
YoY Change -83.23% -35.56% -43.93%
Cash & Equivalents $32.05M $191.4M $137.6M
Short-Term Investments
Other Short-Term Assets $19.67M $18.96M $17.53M
YoY Change 3.76% 127.03% 95.85%
Inventory $98.31M $61.96M $83.05M
Prepaid Expenses
Receivables $198.0M $133.9M $196.3M
Other Receivables $0.00 $0.00 $0.00
Total Short-Term Assets $425.5M $437.1M $434.5M
YoY Change -2.66% -19.73% -18.43%
LONG-TERM ASSETS
Property, Plant & Equipment $89.56M $78.15M $95.08M
YoY Change 14.6% -18.45% 1.45%
Goodwill $514.3M $307.4M $328.0M
YoY Change 67.32% 1.91% 1.44%
Intangibles $156.4M $76.73M $96.19M
YoY Change 103.78% -20.38% -3.38%
Long-Term Investments
YoY Change
Other Assets $1.599M $1.980M $2.475M
YoY Change -19.24% 62.83% -44.75%
Total Long-Term Assets $787.0M $547.3M $550.3M
YoY Change 43.79% 5.85% 5.61%
TOTAL ASSETS
Total Short-Term Assets $425.5M $437.1M $434.5M
Total Long-Term Assets $787.0M $547.3M $550.3M
Total Assets $1.212B $984.5M $984.8M
YoY Change 23.16% -7.27% -6.54%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable $134.7M $72.63M $103.6M
YoY Change 85.52% -8.22% 11.43%
Accrued Expenses $83.51M $86.60M $97.88M
YoY Change -3.57% -0.55% 28.34%
Deferred Revenue $34.70M $47.60M $38.67M
YoY Change -27.09% 166.55% 76.58%
Short-Term Debt $0.00 $0.00 $0.00
YoY Change
Long-Term Debt Due $0.00 $0.00
YoY Change -100.0% -100.0%
Total Short-Term Liabilities $302.2M $229.2M $240.2M
YoY Change 31.87% -41.66% 25.38%
LONG-TERM LIABILITIES
Long-Term Debt $85.64M $0.00 $0.00
YoY Change -100.0% -100.0%
Other Long-Term Liabilities $24.03M $21.27M $30.29M
YoY Change 12.95% -37.34% -19.08%
Total Long-Term Liabilities $109.7M $21.27M $30.29M
YoY Change 415.52% -40.16% -87.75%
TOTAL LIABILITIES
Total Short-Term Liabilities $302.2M $229.2M $240.2M
Total Long-Term Liabilities $109.7M $21.27M $30.29M
Total Liabilities $411.9M $250.5M $270.5M
YoY Change 64.45% -41.54% -38.36%
SHAREHOLDERS EQUITY
Retained Earnings $469.9M $405.7M $391.3M
YoY Change 15.84% 19.67% 20.08%
Common Stock $336.0K $332.0K $332.0K
YoY Change 1.2% 0.91% 1.22%
Preferred Stock
YoY Change
Treasury Stock (at cost) $28.88M $22.23M $21.42M
YoY Change 29.95% 24.02% 23.75%
Treasury Stock Shares 1.028M shares 906.0K shares 888.0K shares
Shareholders Equity $743.8M $674.0M $657.2M
YoY Change
Total Liabilities & Shareholders Equity $1.212B $984.5M $984.8M
YoY Change 23.16% -7.27% -6.54%

Cashflow Statement

Concept 2020 Q4 2019 Q4 2019 Q3
OPERATING ACTIVITIES
Net Income -$8.545M $14.36M $24.48M
YoY Change -159.52% 9.45% 25.5%
Depreciation, Depletion And Amortization $3.600M $5.000M $5.000M
YoY Change -28.0% 0.0% -1.96%
Cash From Operating Activities $32.90M $57.40M $66.00M
YoY Change -42.68% -3.2% 57.14%
INVESTING ACTIVITIES
Capital Expenditures -$3.800M -$3.500M -$1.400M
YoY Change 8.57% -38.6% -54.84%
Acquisitions
YoY Change
Other Investing Activities -$261.8M $100.0K -$8.400M
YoY Change -261900.0% 68.0%
Cash From Investing Activities -$265.5M -$3.400M -$9.800M
YoY Change 7708.82% -39.29% 20.99%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net
YoY Change
Debt Paid & Issued, Net
YoY Change
Cash From Financing Activities 85.50M -800.0K -100.0K
YoY Change -10787.5% 33.33% -133.33%
NET CHANGE
Cash From Operating Activities 32.90M 57.40M 66.00M
Cash From Investing Activities -265.5M -3.400M -9.800M
Cash From Financing Activities 85.50M -800.0K -100.0K
Net Change In Cash -147.1M 53.20M 56.10M
YoY Change -376.5% 0.19% 64.04%
FREE CASH FLOW
Cash From Operating Activities $32.90M $57.40M $66.00M
Capital Expenditures -$3.800M -$3.500M -$1.400M
Free Cash Flow $36.70M $60.90M $67.40M
YoY Change -39.74% -6.31% 49.45%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2020 dei Amendment Flag
AmendmentFlag
false
CY2020 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2020
CY2020 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2020 dei Entity Central Index Key
EntityCentralIndexKey
0000912562
CY2019 us-gaap Accounting Standards Update Extensible List
AccountingStandardsUpdateExtensibleList
us-gaap:AccountingStandardsUpdate201602Member
CY2020 us-gaap Accounting Standards Update Extensible List
AccountingStandardsUpdateExtensibleList
us-gaap:AccountingStandardsUpdate201613Member
CY2020Q4 us-gaap Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
us-gaap:AccruedLiabilitiesCurrent
CY2019Q4 us-gaap Operating Lease Liability Current Statement Of Financial Position Extensible List
OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
us-gaap:AccruedLiabilitiesCurrent
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 Document Transition Report
DocumentTransitionReport
false
CY2020 dei Entity File Number
EntityFileNumber
0-22462
CY2020 dei Entity Registrant Name
EntityRegistrantName
GIBRALTAR INDUSTRIES, INC.
CY2020 dei Entity Shell Company
EntityShellCompany
false
CY2020 dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
DE
CY2020 dei Entity Tax Identification Number
EntityTaxIdentificationNumber
16-1445150
CY2020 dei Entity Address Address Line1
EntityAddressAddressLine1
3556 Lake Shore Road
CY2020 dei Entity Address Address Line2
EntityAddressAddressLine2
P.O. Box 2028
CY2020 dei Entity Address City Or Town
EntityAddressCityOrTown
Buffalo ,
CY2020 dei Entity Address State Or Province
EntityAddressStateOrProvince
NY
CY2020 dei Entity Address Postal Zip Code
EntityAddressPostalZipCode
14219-0228
CY2020 dei City Area Code
CityAreaCode
716
CY2020 dei Local Phone Number
LocalPhoneNumber
826-6500
CY2020 dei Security12b Title
Security12bTitle
Common Stock, $0.01 par value per share
CY2020 dei Trading Symbol
TradingSymbol
ROCK
CY2020 dei Security Exchange Name
SecurityExchangeName
NASDAQ
CY2020 dei Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
Yes
CY2020 dei Entity Voluntary Filers
EntityVoluntaryFilers
No
CY2020 dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
CY2020 dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2020 dei Entity Filer Category
EntityFilerCategory
Large Accelerated Filer
CY2020 dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
CY2020 dei Entity Small Business
EntitySmallBusiness
false
CY2020 dei Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
true
CY2020Q2 dei Entity Public Float
EntityPublicFloat
1500000000 USD
CY2021Q1 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
32570961 shares
CY2020 us-gaap Revenues
Revenues
1032578000 USD
CY2019 us-gaap Revenues
Revenues
898233000 USD
CY2018 us-gaap Revenues
Revenues
837097000 USD
CY2020 us-gaap Cost Of Revenue
CostOfRevenue
776235000 USD
CY2019 us-gaap Cost Of Revenue
CostOfRevenue
678336000 USD
CY2018 us-gaap Cost Of Revenue
CostOfRevenue
626171000 USD
CY2020 us-gaap Gross Profit
GrossProfit
256343000 USD
CY2019 us-gaap Gross Profit
GrossProfit
219897000 USD
CY2018 us-gaap Gross Profit
GrossProfit
210926000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
78081000 USD
CY2020 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
149153000 USD
CY2019 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
139085000 USD
CY2018 us-gaap Selling General And Administrative Expense
SellingGeneralAndAdministrativeExpense
128233000 USD
CY2020 us-gaap Goodwill And Intangible Asset Impairment
GoodwillAndIntangibleAssetImpairment
0 USD
CY2019 us-gaap Goodwill And Intangible Asset Impairment
GoodwillAndIntangibleAssetImpairment
0 USD
CY2018 us-gaap Goodwill And Intangible Asset Impairment
GoodwillAndIntangibleAssetImpairment
1552000 USD
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
107190000 USD
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
80812000 USD
CY2018 us-gaap Operating Income Loss
OperatingIncomeLoss
81141000 USD
CY2020 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-703000 USD
CY2019 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-2323000 USD
CY2018 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-10709000 USD
CY2020 us-gaap Other Income
OtherIncome
1272000 USD
CY2019 us-gaap Other Income
OtherIncome
-408000 USD
CY2018 us-gaap Other Income
OtherIncome
-3309000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
107759000 USD
CY2018 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
54112000 USD
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
67123000 USD
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
24468000 USD
CY2020 us-gaap Discontinued Operation Income Loss From Discontinued Operation Before Income Tax
DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
-16602000 USD
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
18153000 USD
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
13011000 USD
CY2020 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
83291000 USD
CY2019 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
59928000 USD
CY2019 us-gaap Discontinued Operation Income Loss From Discontinued Operation Before Income Tax
DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
6682000 USD
CY2018 us-gaap Discontinued Operation Income Loss From Discontinued Operation Before Income Tax
DiscontinuedOperationIncomeLossFromDiscontinuedOperationBeforeIncomeTax
12822000 USD
CY2020 us-gaap Discontinued Operation Tax Effect Of Discontinued Operation
DiscontinuedOperationTaxEffectOfDiscontinuedOperation
2123000 USD
CY2019 us-gaap Discontinued Operation Tax Effect Of Discontinued Operation
DiscontinuedOperationTaxEffectOfDiscontinuedOperation
1519000 USD
CY2018 us-gaap Discontinued Operation Tax Effect Of Discontinued Operation
DiscontinuedOperationTaxEffectOfDiscontinuedOperation
3125000 USD
CY2020 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
-18725000 USD
CY2019 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
5163000 USD
CY2018 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
9697000 USD
CY2018 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
1.66
CY2020Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
64566000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
65091000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
63809000 USD
CY2020 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
2.55
CY2019 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
1.85
CY2018 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
1.69
CY2020 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
-0.57
CY2019 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.16
CY2018 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.31
CY2020 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.98
CY2019 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
2.01
CY2018 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
2.00
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
32664000 shares
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
32389000 shares
CY2018 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
31979000 shares
CY2020 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
2.53
CY2019 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
1.83
CY2018 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.96
CY2018 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
32534000 shares
CY2020 us-gaap Net Income Loss
NetIncomeLoss
64566000 USD
CY2020 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
-0.57
CY2019 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.16
CY2018 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.30
CY2020 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.96
CY2019 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.99
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
32918000 shares
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
32722000 shares
CY2019 us-gaap Net Income Loss
NetIncomeLoss
65091000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
63809000 USD
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
3301000 USD
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
1766000 USD
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-3241000 USD
CY2020 rock Other Comprehensive Income Minimum Pension Liability Net Adjustment Net Of Tax1
OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1
0 USD
CY2019 rock Other Comprehensive Income Minimum Pension Liability Net Adjustment Net Of Tax1
OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1
0 USD
CY2018 rock Other Comprehensive Income Minimum Pension Liability Net Adjustment Net Of Tax1
OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentNetOfTax1
350000 USD
CY2020 us-gaap Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Adjustment Net Of Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
371000 USD
CY2019 us-gaap Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Adjustment Net Of Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
-77000 USD
CY2018 us-gaap Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Adjustment Net Of Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
-723000 USD
CY2020 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
2930000 USD
CY2019 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
1843000 USD
CY2018 us-gaap Other Comprehensive Income Loss Net Of Tax
OtherComprehensiveIncomeLossNetOfTax
-2868000 USD
CY2020 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
67496000 USD
CY2019 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
66934000 USD
CY2018 us-gaap Comprehensive Income Net Of Tax
ComprehensiveIncomeNetOfTax
60941000 USD
CY2020Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
32054000 USD
CY2019Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
191363000 USD
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
3529000 USD
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable
AllowanceForDoubtfulAccountsReceivable
5951000 USD
CY2020Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
197990000 USD
CY2019Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
133895000 USD
CY2020Q4 us-gaap Inventory Net
InventoryNet
98307000 USD
CY2019Q4 us-gaap Inventory Net
InventoryNet
61957000 USD
CY2020Q4 us-gaap Other Assets Current
OtherAssetsCurrent
19671000 USD
CY2019Q4 us-gaap Other Assets Current
OtherAssetsCurrent
18959000 USD
CY2020Q4 us-gaap Assets Of Disposal Group Including Discontinued Operation Current
AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent
77438000 USD
CY2019Q4 us-gaap Assets Of Disposal Group Including Discontinued Operation Current
AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent
30928000 USD
CY2020Q4 us-gaap Assets Current
AssetsCurrent
425460000 USD
CY2019Q4 us-gaap Assets Current
AssetsCurrent
437102000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
89562000 USD
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
78152000 USD
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
25229000 USD
CY2019Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
21201000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
514279000 USD
CY2019Q4 us-gaap Goodwill
Goodwill
307355000 USD
CY2020Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
156365000 USD
CY2019Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
76734000 USD
CY2020Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
1599000 USD
CY2019Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
1980000 USD
CY2020Q4 us-gaap Disposal Group Including Discontinued Operation Assets Noncurrent
DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent
0 USD
CY2019Q4 us-gaap Disposal Group Including Discontinued Operation Assets Noncurrent
DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent
61926000 USD
CY2020Q4 us-gaap Assets
Assets
1212494000 USD
CY2019Q4 us-gaap Assets
Assets
984450000 USD
CY2020Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
134738000 USD
CY2019Q4 us-gaap Accounts Payable Current
AccountsPayableCurrent
72628000 USD
CY2020Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
83505000 USD
CY2019Q4 us-gaap Accrued Liabilities Current
AccruedLiabilitiesCurrent
86597000 USD
CY2020Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
34702000 USD
CY2019Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
47598000 USD
CY2020Q4 us-gaap Liabilities Of Disposal Group Including Discontinued Operation Current
LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent
49295000 USD
CY2019Q4 us-gaap Liabilities Of Disposal Group Including Discontinued Operation Current
LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent
22374000 USD
CY2020Q4 us-gaap Liabilities Current
LiabilitiesCurrent
302240000 USD
CY2019Q4 us-gaap Liabilities Current
LiabilitiesCurrent
229197000 USD
CY2020Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
85636000 USD
CY2019Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
0 USD
CY2020Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
39057000 USD
CY2019Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
35404000 USD
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
17730000 USD
CY2019Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
14943000 USD
CY2020Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
24026000 USD
CY2019Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
21272000 USD
CY2020Q4 us-gaap Liabilities Of Disposal Group Including Discontinued Operation Noncurrent
LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent
0 USD
CY2019Q4 us-gaap Liabilities Of Disposal Group Including Discontinued Operation Noncurrent
LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationNoncurrent
9670000 USD
CY2019Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2020Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.01
CY2019Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
10000000 shares
CY2020Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
10000000 shares
CY2020Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0 shares
CY2019Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
0 shares
CY2019Q4 us-gaap Preferred Stock Value
PreferredStockValue
0 USD
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
CY2020Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
50000000 shares
CY2019Q4 us-gaap Common Stock Shares Authorized
CommonStockSharesAuthorized
50000000 shares
CY2020Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
33568000 shares
CY2019Q4 us-gaap Common Stock Shares Issued
CommonStockSharesIssued
33192000 shares
CY2020Q4 us-gaap Common Stock Value
CommonStockValue
336000 USD
CY2019Q4 us-gaap Common Stock Value
CommonStockValue
332000 USD
CY2020Q4 us-gaap Additional Paid In Capital
AdditionalPaidInCapital
304870000 USD
CY2019Q4 us-gaap Additional Paid In Capital
AdditionalPaidInCapital
295582000 USD
CY2020Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
469943000 USD
CY2019Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
405668000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-2461000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-5391000 USD
CY2020Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
1028000 shares
CY2019Q4 us-gaap Treasury Stock Shares
TreasuryStockShares
906000 shares
CY2020Q4 us-gaap Treasury Stock Value
TreasuryStockValue
28883000 USD
CY2019Q4 us-gaap Treasury Stock Value
TreasuryStockValue
22227000 USD
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
743805000 USD
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
673964000 USD
CY2020Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
1212494000 USD
CY2019Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
984450000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
64566000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
65091000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
63809000 USD
CY2020 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
-18725000 USD
CY2019 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
5163000 USD
CY2018 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
9697000 USD
CY2020 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
83291000 USD
CY2019 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
59928000 USD
CY2018 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
17439000 USD
CY2018 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
54112000 USD
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
20915000 USD
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
17557000 USD
CY2020 us-gaap Goodwill And Intangible Asset Impairment
GoodwillAndIntangibleAssetImpairment
0 USD
CY2019 us-gaap Goodwill And Intangible Asset Impairment
GoodwillAndIntangibleAssetImpairment
0 USD
CY2018 us-gaap Goodwill And Intangible Asset Impairment
GoodwillAndIntangibleAssetImpairment
1552000 USD
CY2020 us-gaap Gain Loss On Sale Of Business
GainLossOnSaleOfBusiness
1881000 USD
CY2019 us-gaap Gain Loss On Sale Of Business
GainLossOnSaleOfBusiness
0 USD
CY2018 us-gaap Gain Loss On Sale Of Business
GainLossOnSaleOfBusiness
0 USD
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
8173000 USD
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
12570000 USD
CY2018 us-gaap Share Based Compensation
ShareBasedCompensation
9189000 USD
CY2020 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
493000 USD
CY2019 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
408000 USD
CY2018 us-gaap Amortization Of Financing Costs And Discounts
AmortizationOfFinancingCostsAndDiscounts
1344000 USD
CY2020 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
3786000 USD
CY2018 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-5491000 USD
CY2019 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
4120000 USD
CY2018 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
4725000 USD
CY2020 us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
-1944000 USD
CY2019 us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
-5399000 USD
CY2018 us-gaap Other Noncash Income Expense
OtherNoncashIncomeExpense
-1759000 USD
CY2020 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-2277000 USD
CY2019 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
11256000 USD
CY2018 us-gaap Increase Decrease In Accounts Receivable
IncreaseDecreaseInAccountsReceivable
-9665000 USD
CY2020 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
5719000 USD
CY2019 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
-14272000 USD
CY2018 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
12322000 USD
CY2020 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
-5467000 USD
CY2019 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
9306000 USD
CY2018 us-gaap Increase Decrease In Other Operating Assets
IncreaseDecreaseInOtherOperatingAssets
-38000 USD
CY2020 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
-1160000 USD
CY2019 us-gaap Increase Decrease In Accounts Payable
IncreaseDecreaseInAccountsPayable
4804000 USD
CY2019 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
8595000 USD
CY2018 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
5241000 USD
CY2020 us-gaap Increase Decrease In Other Accrued Liabilities
IncreaseDecreaseInOtherAccruedLiabilities
-44570000 USD
CY2019 us-gaap Increase Decrease In Other Accrued Liabilities
IncreaseDecreaseInOtherAccruedLiabilities
14040000 USD
CY2018 us-gaap Increase Decrease In Other Accrued Liabilities
IncreaseDecreaseInOtherAccruedLiabilities
2351000 USD
CY2020 us-gaap Net Cash Provided By Used In Operating Activities Continuing Operations
NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
73016000 USD
CY2019 us-gaap Net Cash Provided By Used In Operating Activities Continuing Operations
NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
112536000 USD
CY2018 us-gaap Net Cash Provided By Used In Operating Activities Continuing Operations
NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
84361000 USD
CY2020 us-gaap Cash Provided By Used In Operating Activities Discontinued Operations
CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
16088000 USD
CY2019 us-gaap Cash Provided By Used In Operating Activities Discontinued Operations
CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
17399000 USD
CY2018 us-gaap Cash Provided By Used In Operating Activities Discontinued Operations
CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
13184000 USD
CY2020 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
89104000 USD
CY2019 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
129935000 USD
CY2018 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
97545000 USD
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
13068000 USD
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
8776000 USD
CY2018 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
10368000 USD
CY2020 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
313686000 USD
CY2020 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
77000 USD
CY2019 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
92000 USD
CY2018 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
348000 USD
CY2019 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-19673000 USD
CY2018 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-14549000 USD
CY2020 us-gaap Proceeds From Divestiture Of Businesses Net Of Cash Divested
ProceedsFromDivestitureOfBusinessesNetOfCashDivested
2000000 USD
CY2019 us-gaap Proceeds From Divestiture Of Businesses Net Of Cash Divested
ProceedsFromDivestitureOfBusinessesNetOfCashDivested
0 USD
CY2018 us-gaap Proceeds From Divestiture Of Businesses Net Of Cash Divested
ProceedsFromDivestitureOfBusinessesNetOfCashDivested
0 USD
CY2020 us-gaap Net Cash Provided By Used In Investing Activities Continuing Operations
NetCashProvidedByUsedInInvestingActivitiesContinuingOperations
-324677000 USD
CY2019 us-gaap Net Cash Provided By Used In Investing Activities Continuing Operations
NetCashProvidedByUsedInInvestingActivitiesContinuingOperations
-17279000 USD
CY2018 us-gaap Net Cash Provided By Used In Investing Activities Continuing Operations
NetCashProvidedByUsedInInvestingActivitiesContinuingOperations
-15261000 USD
CY2020 us-gaap Cash Provided By Used In Investing Activities Discontinued Operations
CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations
-2033000 USD
CY2019 us-gaap Cash Provided By Used In Investing Activities Discontinued Operations
CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations
-2394000 USD
CY2018 us-gaap Cash Provided By Used In Investing Activities Discontinued Operations
CashProvidedByUsedInInvestingActivitiesDiscontinuedOperations
712000 USD
CY2020 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-326710000 USD
CY2020 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
0 USD
CY2019 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
212000000 USD
CY2018 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
400000 USD
CY2020 us-gaap Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
85000000 USD
CY2019 us-gaap Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
0 USD
CY2018 us-gaap Proceeds From Issuance Of Long Term Debt
ProceedsFromIssuanceOfLongTermDebt
0 USD
CY2020 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
0 USD
CY2019 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
1235000 USD
CY2018 us-gaap Payments Of Financing Costs
PaymentsOfFinancingCosts
0 USD
CY2020 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
6656000 USD
CY2019 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
4305000 USD
CY2018 us-gaap Payments For Repurchase Of Common Stock
PaymentsForRepurchaseOfCommonStock
7165000 USD
CY2020 us-gaap Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
1119000 USD
CY2019 us-gaap Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
490000 USD
CY2018 us-gaap Proceeds From Issuance Of Common Stock
ProceedsFromIssuanceOfCommonStock
1385000 USD
CY2020 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
79463000 USD
CY2019 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-217050000 USD
CY2018 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-6180000 USD
CY2020 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
-1166000 USD
CY2019 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
1145000 USD
CY2018 us-gaap Effect Of Exchange Rate On Cash And Cash Equivalents
EffectOfExchangeRateOnCashAndCashEquivalents
-2090000 USD
CY2020 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-159309000 USD
CY2019 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
-105643000 USD
CY2018 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Including Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
74726000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
191363000 USD
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
297006000 USD
CY2017Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
222280000 USD
CY2020Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
32054000 USD
CY2019Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
191363000 USD
CY2018Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
297006000 USD
CY2017Q4 us-gaap Stockholders Equity
StockholdersEquity
531719000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
63809000 USD
CY2018 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
-3241000 USD
CY2018 rock Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax1
OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1
-225000 USD
CY2018 us-gaap Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Adjustment Net Of Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
-723000 USD
CY2018 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
9189000 USD
CY2018 rock Stock Issued During Period Value Restricted Stock Award Settlement
StockIssuedDuringPeriodValueRestrictedStockAwardSettlement
7165000 USD
CY2018 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
1385000 USD
CY2018Q4 us-gaap Stockholders Equity
StockholdersEquity
596693000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
65091000 USD
CY2019 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
1766000 USD
CY2019 rock Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax1
OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1
-24000 USD
CY2019 us-gaap Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Adjustment Net Of Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
-77000 USD
CY2019 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
12570000 USD
CY2019 rock Stock Issued During Period Value Restricted Stock Award Settlement
StockIssuedDuringPeriodValueRestrictedStockAwardSettlement
4305000 USD
CY2019 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
490000 USD
CY2019Q4 us-gaap Stockholders Equity
StockholdersEquity
673964000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
64566000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
64566000 USD
CY2020 us-gaap Other Comprehensive Income Loss Foreign Currency Transaction And Translation Adjustment Net Of Tax
OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
3301000 USD
CY2020 rock Other Comprehensive Income Minimum Pension Liability Net Adjustment Tax1
OtherComprehensiveIncomeMinimumPensionLiabilityNetAdjustmentTax1
-116000 USD
CY2020 us-gaap Other Comprehensive Income Loss Pension And Other Postretirement Benefit Plans Adjustment Net Of Tax
OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
371000 USD
CY2020 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
8173000 USD
CY2020 rock Stock Issued During Period Value Restricted Stock Award Settlement
StockIssuedDuringPeriodValueRestrictedStockAwardSettlement
6656000 USD
CY2020 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
1119000 USD
CY2020Q4 us-gaap Stockholders Equity
StockholdersEquity
743805000 USD
CY2020 us-gaap Use Of Estimates
UseOfEstimates
<div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline">Use of estimates</span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. Actual results could differ from those estimates.</span></div>
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
5951000 USD
CY2018Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
6170000 USD
CY2017Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
5599000 USD
CY2020 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
1321000 USD
CY2019 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
2577000 USD
CY2018 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
1308000 USD
CY2020 us-gaap Financing Receivable Allowance For Credit Losses Write Offs
FinancingReceivableAllowanceForCreditLossesWriteOffs
4128000 USD
CY2019 us-gaap Financing Receivable Allowance For Credit Losses Write Offs
FinancingReceivableAllowanceForCreditLossesWriteOffs
2796000 USD
CY2018 us-gaap Financing Receivable Allowance For Credit Losses Write Offs
FinancingReceivableAllowanceForCreditLossesWriteOffs
737000 USD
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
3529000 USD
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
5951000 USD
CY2018Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
6170000 USD
CY2020 us-gaap Depreciation
Depreciation
11252000 USD
CY2019 us-gaap Depreciation
Depreciation
10666000 USD
CY2018 us-gaap Depreciation
Depreciation
10249000 USD
CY2020 us-gaap Advertising Expense
AdvertisingExpense
7200000 USD
CY2019 us-gaap Advertising Expense
AdvertisingExpense
5700000 USD
CY2018 us-gaap Advertising Expense
AdvertisingExpense
5000000.0 USD
CY2020Q4 us-gaap Accounts Receivable Gross Current
AccountsReceivableGrossCurrent
174604000 USD
CY2019Q4 us-gaap Accounts Receivable Gross Current
AccountsReceivableGrossCurrent
119239000 USD
CY2020Q4 us-gaap Unbilled Contracts Receivable
UnbilledContractsReceivable
26915000 USD
CY2019Q4 us-gaap Unbilled Contracts Receivable
UnbilledContractsReceivable
20607000 USD
CY2020Q4 rock Contracts Receivable Gross Current
ContractsReceivableGrossCurrent
201519000 USD
CY2019Q4 rock Contracts Receivable Gross Current
ContractsReceivableGrossCurrent
139846000 USD
CY2020Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
3529000 USD
CY2019Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
5951000 USD
CY2020Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
197990000 USD
CY2019Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
133895000 USD
CY2020Q4 us-gaap Contract With Customer Asset Net
ContractWithCustomerAssetNet
26915000 USD
CY2019Q4 us-gaap Contract With Customer Asset Net
ContractWithCustomerAssetNet
20607000 USD
CY2018Q1 us-gaap Contract With Customer Asset Net
ContractWithCustomerAssetNet
22634000 USD
CY2020 us-gaap Contract With Customer Asset Reclassified To Receivable
ContractWithCustomerAssetReclassifiedToReceivable
45536000 USD
CY2019 us-gaap Contract With Customer Asset Reclassified To Receivable
ContractWithCustomerAssetReclassifiedToReceivable
17371000 USD
CY2018 us-gaap Contract With Customer Asset Reclassified To Receivable
ContractWithCustomerAssetReclassifiedToReceivable
10097000 USD
CY2020 us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
12229000 USD
CY2019 us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
10090000 USD
CY2018 us-gaap Contract With Customer Liability Revenue Recognized
ContractWithCustomerLiabilityRevenueRecognized
2988000 USD
CY2020Q4 us-gaap Inventory Raw Materials
InventoryRawMaterials
66018000 USD
CY2019Q4 us-gaap Inventory Raw Materials
InventoryRawMaterials
42030000 USD
CY2020Q4 us-gaap Inventory Work In Process
InventoryWorkInProcess
5382000 USD
CY2019Q4 us-gaap Inventory Work In Process
InventoryWorkInProcess
5023000 USD
CY2020Q4 us-gaap Inventory Finished Goods
InventoryFinishedGoods
31205000 USD
CY2019Q4 us-gaap Inventory Finished Goods
InventoryFinishedGoods
18460000 USD
CY2020Q4 us-gaap Inventory Gross
InventoryGross
102605000 USD
CY2019Q4 us-gaap Inventory Gross
InventoryGross
65513000 USD
CY2020Q4 us-gaap Inventory Adjustments
InventoryAdjustments
4298000 USD
CY2019Q4 us-gaap Inventory Adjustments
InventoryAdjustments
3556000 USD
CY2020Q4 us-gaap Inventory Net
InventoryNet
98307000 USD
CY2019Q4 us-gaap Inventory Net
InventoryNet
61957000 USD
CY2019Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
3463000 USD
CY2018Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
2971000 USD
CY2017Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
2852000 USD
CY2020 rock Inventory Valuation Excess Obsolete And Slow Moving Inventory
InventoryValuationExcessObsoleteAndSlowMovingInventory
355000 USD
CY2019 rock Inventory Valuation Excess Obsolete And Slow Moving Inventory
InventoryValuationExcessObsoleteAndSlowMovingInventory
1134000 USD
CY2018 rock Inventory Valuation Excess Obsolete And Slow Moving Inventory
InventoryValuationExcessObsoleteAndSlowMovingInventory
363000 USD
CY2020 rock Inventory Valuation Scrapped Inventory And Other Adjustments
InventoryValuationScrappedInventoryAndOtherAdjustments
343000 USD
CY2019 rock Inventory Valuation Scrapped Inventory And Other Adjustments
InventoryValuationScrappedInventoryAndOtherAdjustments
-642000 USD
CY2018 rock Inventory Valuation Scrapped Inventory And Other Adjustments
InventoryValuationScrappedInventoryAndOtherAdjustments
-244000 USD
CY2020Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
4161000 USD
CY2019Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
3463000 USD
CY2018Q4 us-gaap Inventory Valuation Reserves
InventoryValuationReserves
2971000 USD
CY2020Q4 us-gaap Land And Land Improvements
LandAndLandImprovements
4605000 USD
CY2019Q4 us-gaap Land And Land Improvements
LandAndLandImprovements
4583000 USD
CY2020Q4 us-gaap Buildings And Improvements Gross
BuildingsAndImprovementsGross
41164000 USD
CY2019Q4 us-gaap Buildings And Improvements Gross
BuildingsAndImprovementsGross
39901000 USD
CY2020Q4 us-gaap Machinery And Equipment Gross
MachineryAndEquipmentGross
188853000 USD
CY2019Q4 us-gaap Machinery And Equipment Gross
MachineryAndEquipmentGross
174058000 USD
CY2020Q4 us-gaap Construction In Progress Gross
ConstructionInProgressGross
10458000 USD
CY2019Q4 us-gaap Construction In Progress Gross
ConstructionInProgressGross
5131000 USD
CY2020Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
245080000 USD
CY2019Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
223673000 USD
CY2020Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
155518000 USD
CY2019Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
145521000 USD
CY2020Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
89562000 USD
CY2019Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
78152000 USD
CY2020 us-gaap Number Of Businesses Acquired
NumberOfBusinessesAcquired
5 business
CY2020 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
3864000 USD
CY2019 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
1918000 USD
CY2018 us-gaap Business Combination Acquisition Related Costs
BusinessCombinationAcquisitionRelatedCosts
497000 USD
CY2018Q4 us-gaap Goodwill
Goodwill
301580000 USD
CY2019 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
5857000 USD
CY2019 us-gaap Goodwill Purchase Accounting Adjustments
GoodwillPurchaseAccountingAdjustments
172000 USD
CY2019 us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
90000 USD
CY2019Q4 us-gaap Goodwill
Goodwill
307355000 USD
CY2020 us-gaap Goodwill Acquired During Period
GoodwillAcquiredDuringPeriod
205243000 USD
CY2020 us-gaap Goodwill Purchase Accounting Adjustments
GoodwillPurchaseAccountingAdjustments
-578000 USD
CY2020 us-gaap Goodwill Foreign Currency Translation Gain Loss
GoodwillForeignCurrencyTranslationGainLoss
1103000 USD
CY2020Q4 us-gaap Goodwill
Goodwill
514279000 USD
CY2019Q4 us-gaap Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
133200000 USD
CY2020Q4 us-gaap Goodwill Impaired Accumulated Impairment Loss
GoodwillImpairedAccumulatedImpairmentLoss
133200000 USD
CY2019 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0 USD
CY2020 us-gaap Goodwill Impairment Loss
GoodwillImpairmentLoss
0 USD
CY2017Q4 rock Numberof Reporting Units Testedfor Impairment
NumberofReportingUnitsTestedforImpairment
10 reporting_unit
CY2020Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
155183000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
55388000 USD
CY2019Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
89567000 USD
CY2019Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
45403000 USD
CY2020Q4 rock Acquired Intangible Assets Total
AcquiredIntangibleAssetsTotal
211753000 USD
CY2020Q4 rock Total Acquired Intangible Assets Accumulated Amortization
TotalAcquiredIntangibleAssetsAccumulatedAmortization
55388000 USD
CY2019Q4 rock Acquired Intangible Assets Total
AcquiredIntangibleAssetsTotal
122137000 USD
CY2019Q4 rock Total Acquired Intangible Assets Accumulated Amortization
TotalAcquiredIntangibleAssetsAccumulatedAmortization
45403000 USD
CY2018 us-gaap Impairment Of Intangible Assets Finitelived
ImpairmentOfIntangibleAssetsFinitelived
300000 USD
CY2020 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
9663000 USD
CY2019 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
6891000 USD
CY2018 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
7190000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
18362000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
11584000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
10721000 USD
CY2019Q4 rock Accrued Sharebased Compensation Current
AccruedSharebasedCompensationCurrent
14817000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
10611000 USD
CY2020Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
10382000 USD
CY2020Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
18131000 USD
CY2019Q4 us-gaap Employee Related Liabilities Current
EmployeeRelatedLiabilitiesCurrent
13509000 USD
CY2020Q4 rock Accrued Sharebased Compensation Current
AccruedSharebasedCompensationCurrent
3504000 USD
CY2020Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
1850000 USD
CY2019Q4 us-gaap Accrued Income Taxes Current
AccruedIncomeTaxesCurrent
3569000 USD
CY2020Q4 rock Accrued Customer Rebates Current
AccruedCustomerRebatesCurrent
11575000 USD
CY2019Q4 rock Accrued Customer Rebates Current
AccruedCustomerRebatesCurrent
10266000 USD
CY2020Q4 us-gaap Accrued Insurance Current
AccruedInsuranceCurrent
6915000 USD
CY2019Q4 us-gaap Accrued Insurance Current
AccruedInsuranceCurrent
8353000 USD
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
8034000 USD
CY2019Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
6487000 USD
CY2020Q4 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
21325000 USD
CY2019Q4 us-gaap Contract With Customer Liability
ContractWithCustomerLiability
15389000 USD
CY2020Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
12171000 USD
CY2019Q4 us-gaap Other Accrued Liabilities Current
OtherAccruedLiabilitiesCurrent
14207000 USD
CY2020Q4 us-gaap Accrued Liabilities Current And Noncurrent
AccruedLiabilitiesCurrentAndNoncurrent
83505000 USD
CY2019Q4 us-gaap Accrued Liabilities Current And Noncurrent
AccruedLiabilitiesCurrentAndNoncurrent
86597000 USD
CY2020Q4 us-gaap Long Term Debt
LongTermDebt
85600000 USD
CY2019Q4 us-gaap Long Term Debt
LongTermDebt
0 USD
CY2020Q4 rock Debt Instrument Number Of Debt Covenants
DebtInstrumentNumberOfDebtCovenants
3 debtCovenant
CY2020Q4 rock Debt Instrument Number Of Debt Covenants
DebtInstrumentNumberOfDebtCovenants
3 debtCovenant
CY2020 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-703000 USD
CY2019 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-2323000 USD
CY2018 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-10709000 USD
CY2020 us-gaap Interest Income Other
InterestIncomeOther
276000 USD
CY2019 us-gaap Interest Income Other
InterestIncomeOther
764000 USD
CY2018 us-gaap Interest Income Other
InterestIncomeOther
2156000 USD
CY2020 rock Noncash Interest Adjustment
NoncashInterestAdjustment
-345000 USD
CY2019 rock Noncash Interest Adjustment
NoncashInterestAdjustment
-380000 USD
CY2018 rock Noncash Interest Adjustment
NoncashInterestAdjustment
-529000 USD
CY2020 us-gaap Interest Paid Net
InterestPaidNet
634000 USD
CY2019 us-gaap Interest Paid Net
InterestPaidNet
2707000 USD
CY2018 us-gaap Interest Paid Net
InterestPaidNet
12336000 USD
CY2020 us-gaap Postemployment Benefits Period Expense
PostemploymentBenefitsPeriodExpense
2824000 USD
CY2019 us-gaap Postemployment Benefits Period Expense
PostemploymentBenefitsPeriodExpense
2572000 USD
CY2018 us-gaap Postemployment Benefits Period Expense
PostemploymentBenefitsPeriodExpense
2542000 USD
CY2020Q4 us-gaap Defined Benefit Plan Ultimate Health Care Cost Trend Rate1
DefinedBenefitPlanUltimateHealthCareCostTrendRate1
0.038
CY2018Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
-7979000 USD
CY2018Q4 rock Accumulated Other Comprehensive Income Loss Tax
AccumulatedOtherComprehensiveIncomeLossTax
-745000 USD
CY2018Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-7234000 USD
CY2019 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
24000 USD
CY2019 us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci Pension And Other Postretirement Benefit Plans Net Of Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax
77000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
-6112000 USD
CY2019Q4 rock Accumulated Other Comprehensive Income Loss Tax
AccumulatedOtherComprehensiveIncomeLossTax
-721000 USD
CY2019Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-5391000 USD
CY2020 us-gaap Other Comprehensive Income Loss Tax
OtherComprehensiveIncomeLossTax
-116000 USD
CY2020 us-gaap Other Comprehensive Income Loss Reclassification Adjustment From Aoci Pension And Other Postretirement Benefit Plans Net Of Tax
OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansNetOfTax
-371000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Before Tax1
AccumulatedOtherComprehensiveIncomeLossBeforeTax1
-3298000 USD
CY2020Q4 rock Accumulated Other Comprehensive Income Loss Tax
AccumulatedOtherComprehensiveIncomeLossTax
-837000 USD
CY2020Q4 us-gaap Accumulated Other Comprehensive Income Loss Net Of Tax
AccumulatedOtherComprehensiveIncomeLossNetOfTax
-2461000 USD
CY2020 rock Stock Compensation Expense Recognized Under Terminated Plans
StockCompensationExpenseRecognizedUnderTerminatedPlans
40000 USD
CY2019 rock Stock Compensation Expense Recognized Under Terminated Plans
StockCompensationExpenseRecognizedUnderTerminatedPlans
192000 USD
CY2018 rock Stock Compensation Expense Recognized Under Terminated Plans
StockCompensationExpenseRecognizedUnderTerminatedPlans
569000 USD
CY2020 rock Share Based Goodsand Nonemployee Services Transaction Sharebased Compensation
ShareBasedGoodsandNonemployeeServicesTransactionSharebasedCompensation
760000 USD
CY2019 rock Share Based Goodsand Nonemployee Services Transaction Sharebased Compensation
ShareBasedGoodsandNonemployeeServicesTransactionSharebasedCompensation
570000 USD
CY2018 rock Share Based Goodsand Nonemployee Services Transaction Sharebased Compensation
ShareBasedGoodsandNonemployeeServicesTransactionSharebasedCompensation
444000 USD
CY2020 us-gaap Share Based Compensation
ShareBasedCompensation
8173000 USD
CY2019 us-gaap Share Based Compensation
ShareBasedCompensation
12570000 USD
CY2018 us-gaap Share Based Compensation
ShareBasedCompensation
9189000 USD
CY2020 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
2272000 USD
CY2019 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
3136000 USD
CY2018 us-gaap Employee Service Share Based Compensation Tax Benefit From Compensation Expense
EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense
2509000 USD
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
0 shares
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
0 shares
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
0 shares
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
41500 shares
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
41500 shares
CY2017Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
247666 shares
CY2017Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
17.01
CY2018 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
87907 shares
CY2018 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
15.75
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
159759 shares
CY2018Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
17.70
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
42350 shares
CY2019 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Forfeitures In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
11.57
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
117409 shares
CY2019Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
19.91
CY2020 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
75909 shares
CY2020 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
14.73
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
41500 shares
CY2020 rock Restructuringand Related Cost Numberof Facilitiestobe Closed
RestructuringandRelatedCostNumberofFacilitiestobeClosed
2 facility
CY2019 rock Restructuringand Related Cost Numberof Facilitiestobe Closed
RestructuringandRelatedCostNumberofFacilitiestobeClosed
1 facility
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
29.38
CY2020 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
P1Y1M17D
CY2020Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
1766000 USD
CY2020Q4 rock Market Price Of Common Stock Per Share
MarketPriceOfCommonStockPerShare
71.94
CY2020 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
3812000 USD
CY2019 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
1371000 USD
CY2018 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
2128000 USD
CY2020Q4 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
14100000 USD
CY2020 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
P2Y3M18D
CY2020Q4 rock Accrued Equity Based Compensation
AccruedEquityBasedCompensation
18200000 USD
CY2019Q4 rock Accrued Equity Based Compensation
AccruedEquityBasedCompensation
28000000.0 USD
CY2020 us-gaap Restructuring Settlement And Impairment Provisions
RestructuringSettlementAndImpairmentProvisions
81000 USD
CY2020 us-gaap Restructuring Charges
RestructuringCharges
2207000 USD
CY2020 us-gaap Business Exit Costs1
BusinessExitCosts1
2288000 USD
CY2019 us-gaap Restructuring Settlement And Impairment Provisions
RestructuringSettlementAndImpairmentProvisions
408000 USD
CY2019 us-gaap Restructuring Charges
RestructuringCharges
5166000 USD
CY2019 us-gaap Business Exit Costs1
BusinessExitCosts1
5574000 USD
CY2018 us-gaap Restructuring Settlement And Impairment Provisions
RestructuringSettlementAndImpairmentProvisions
1918000 USD
CY2018 us-gaap Restructuring Charges
RestructuringCharges
2801000 USD
CY2018 us-gaap Business Exit Costs1
BusinessExitCosts1
4719000 USD
CY2020 us-gaap Business Exit Costs1
BusinessExitCosts1
2288000 USD
CY2019 us-gaap Business Exit Costs1
BusinessExitCosts1
5574000 USD
CY2018 us-gaap Business Exit Costs1
BusinessExitCosts1
4719000 USD
CY2019Q4 us-gaap Restructuring Reserve
RestructuringReserve
2083000 USD
CY2018Q4 us-gaap Restructuring Reserve
RestructuringReserve
1865000 USD
CY2020 us-gaap Restructuring Charges
RestructuringCharges
2207000 USD
CY2019 us-gaap Restructuring Charges
RestructuringCharges
5166000 USD
CY2020 us-gaap Payments For Restructuring
PaymentsForRestructuring
3260000 USD
CY2019 us-gaap Payments For Restructuring
PaymentsForRestructuring
3799000 USD
CY2020 us-gaap Restructuring Reserve Settled Without Cash2
RestructuringReserveSettledWithoutCash2
0 USD
CY2019 us-gaap Restructuring Reserve Settled Without Cash2
RestructuringReserveSettledWithoutCash2
1149000 USD
CY2020Q4 us-gaap Restructuring Reserve
RestructuringReserve
1030000 USD
CY2019Q4 us-gaap Restructuring Reserve
RestructuringReserve
2083000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
108930000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
78351000 USD
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
70783000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
-1171000 USD
CY2019 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
16397000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
-270000 USD
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
-3660000 USD
CY2020 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
107759000 USD
CY2019 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
78081000 USD
CY2018 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
67123000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2020 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
22629000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.210
CY2020 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.034
CY2019 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Percent
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
-0.011
CY2018 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
-2224000 USD
CY2019 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
3194000 USD
CY2018 us-gaap Income Tax Reconciliation Income Tax Expense Benefit At Federal Statutory Income Tax Rate
IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
14096000 USD
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
3650000 USD
CY2019 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.041
CY2018 us-gaap Income Tax Reconciliation State And Local Income Taxes
IncomeTaxReconciliationStateAndLocalIncomeTaxes
2901000 USD
CY2018 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.043
CY2020 us-gaap Income Tax Reconciliation Tax Credits
IncomeTaxReconciliationTaxCredits
1064000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation Tax Credits
EffectiveIncomeTaxRateReconciliationTaxCredits
0.010
CY2019 us-gaap Income Tax Reconciliation Tax Credits
IncomeTaxReconciliationTaxCredits
1621000 USD
CY2019 us-gaap Effective Income Tax Rate Reconciliation Tax Credits
EffectiveIncomeTaxRateReconciliationTaxCredits
0.021
CY2018 us-gaap Income Tax Reconciliation Tax Credits
IncomeTaxReconciliationTaxCredits
742000 USD
CY2018 us-gaap Effective Income Tax Rate Reconciliation Tax Credits
EffectiveIncomeTaxRateReconciliationTaxCredits
0.011
CY2020 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
-1674000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Percent
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
-0.016
CY2019 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Amount
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
-871000 USD
CY2019 us-gaap Effective Income Tax Rate Reconciliation Tax Contingencies
EffectiveIncomeTaxRateReconciliationTaxContingencies
-0.003
CY2018 us-gaap Income Tax Reconciliation Tax Contingencies
IncomeTaxReconciliationTaxContingencies
-3051000 USD
CY2018 us-gaap Effective Income Tax Rate Reconciliation Tax Contingencies
EffectiveIncomeTaxRateReconciliationTaxContingencies
-0.045
CY2018 us-gaap Effective Income Tax Rate Reconciliation Share Based Compensation Excess Tax Benefit Percent
EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
-0.033
CY2020 us-gaap Income Tax Reconciliation Tax Contingencies
IncomeTaxReconciliationTaxContingencies
0 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation Tax Contingencies
EffectiveIncomeTaxRateReconciliationTaxContingencies
0
CY2019 us-gaap Income Tax Reconciliation Tax Contingencies
IncomeTaxReconciliationTaxContingencies
-260000 USD
CY2020 rock Effective Income Tax Rate Reconciliation Executive Compensation Amount
EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount
1114000 USD
CY2020 rock Effective Income Tax Rate Reconciliation Executive Compensation Percent
EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent
0.010
CY2019 rock Effective Income Tax Rate Reconciliation Executive Compensation Amount
EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount
1132000 USD
CY2019 rock Effective Income Tax Rate Reconciliation Executive Compensation Percent
EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent
0.014
CY2018 rock Effective Income Tax Rate Reconciliation Executive Compensation Amount
EffectiveIncomeTaxRateReconciliationExecutiveCompensationAmount
1369000 USD
CY2018 rock Effective Income Tax Rate Reconciliation Executive Compensation Percent
EffectiveIncomeTaxRateReconciliationExecutiveCompensationPercent
0.020
CY2020 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
-130000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
-0.001
CY2019 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
88000 USD
CY2019 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.001
CY2018 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
14128000 USD
CY2020 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
0 USD
CY2018 rock Effective Income Tax Rate Reconciliation Net Operating Loss Write Down Percent
EffectiveIncomeTaxRateReconciliationNetOperatingLossWriteDownPercent
0.024
CY2018 us-gaap Income Tax Reconciliation Change In Deferred Tax Assets Valuation Allowance
IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
-1694000 USD
CY2018 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
-0.025
CY2020 rock Effective Income Tax Rate Reconiliation Net Operating Loss Write Down Amount
EffectiveIncomeTaxRateReconiliationNetOperatingLossWriteDownAmount
0 USD
CY2020 rock Effective Income Tax Rate Reconciliation Net Operating Loss Write Down Percent
EffectiveIncomeTaxRateReconciliationNetOperatingLossWriteDownPercent
0
CY2019 rock Effective Income Tax Rate Reconiliation Net Operating Loss Write Down Amount
EffectiveIncomeTaxRateReconiliationNetOperatingLossWriteDownAmount
0 USD
CY2019 rock Effective Income Tax Rate Reconciliation Net Operating Loss Write Down Percent
EffectiveIncomeTaxRateReconciliationNetOperatingLossWriteDownPercent
0
CY2018 rock Effective Income Tax Rate Reconiliation Net Operating Loss Write Down Amount
EffectiveIncomeTaxRateReconiliationNetOperatingLossWriteDownAmount
1640000 USD
CY2020 rock Effective Income Tax Rate Reconciliation Change In Indemnification Asset Amount
EffectiveIncomeTaxRateReconciliationChangeInIndemnificationAssetAmount
0 USD
CY2020 rock Effective Income Tax Rate Reconciliation Change In Indemnification Asset Percent
EffectiveIncomeTaxRateReconciliationChangeInIndemnificationAssetPercent
0
CY2019 rock Effective Income Tax Rate Reconciliation Change In Indemnification Asset Amount
EffectiveIncomeTaxRateReconciliationChangeInIndemnificationAssetAmount
0 USD
CY2019 rock Effective Income Tax Rate Reconciliation Change In Indemnification Asset Percent
EffectiveIncomeTaxRateReconciliationChangeInIndemnificationAssetPercent
0
CY2018 rock Effective Income Tax Rate Reconciliation Change In Indemnification Asset Amount
EffectiveIncomeTaxRateReconciliationChangeInIndemnificationAssetAmount
643000 USD
CY2018 rock Effective Income Tax Rate Reconciliation Change In Indemnification Asset Percent
EffectiveIncomeTaxRateReconciliationChangeInIndemnificationAssetPercent
0.010
CY2020 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
-57000 USD
CY2020 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
0
CY2019 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
94000 USD
CY2019 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
0.001
CY2018 us-gaap Income Tax Reconciliation Other Adjustments
IncomeTaxReconciliationOtherAdjustments
73000 USD
CY2018 us-gaap Effective Income Tax Rate Reconciliation Other Adjustments
EffectiveIncomeTaxRateReconciliationOtherAdjustments
0.001
CY2020 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
24468000 USD
CY2020 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.227
CY2019 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
18153000 USD
CY2019 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.232
CY2018 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
13011000 USD
CY2018 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.194
CY2020Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
7697000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
7556000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Goodwill
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
41842000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Goodwill
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsGoodwill
38610000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
5632000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
6171000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
6878000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities Other
DeferredTaxLiabilitiesOther
6158000 USD
CY2020Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
62049000 USD
CY2019Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
58495000 USD
CY2020Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
7496000 USD
CY2019Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Compensation And Benefits Share Based Compensation Cost
DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost
9530000 USD
CY2020Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
15682000 USD
CY2019Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
13939000 USD
CY2020Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
23178000 USD
CY2019Q4 us-gaap Deferred Tax Assets Gross
DeferredTaxAssetsGross
23469000 USD
CY2020Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
111000 USD
CY2019Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
298000 USD
CY2020Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
23067000 USD
CY2019Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
23171000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
38982000 USD
CY2019Q4 us-gaap Deferred Tax Liabilities
DeferredTaxLiabilities
35324000 USD
CY2020Q4 us-gaap Operating Loss Carryforwards
OperatingLossCarryforwards
14700000 USD
CY2020Q4 us-gaap Deferred Tax Assets Operating Loss Carryforwards
DeferredTaxAssetsOperatingLossCarryforwards
1500000 USD
CY2020 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
0 USD
CY2019 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
0 USD
CY2018 us-gaap Unrecognized Tax Benefits Income Tax Penalties And Interest Expense
UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense
13000 USD
CY2020 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
21351000 USD
CY2019 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
16744000 USD
CY2020Q4 us-gaap Deferred Tax Liabilities Undistributed Foreign Earnings
DeferredTaxLiabilitiesUndistributedForeignEarnings
200000 USD
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
0 USD
CY2018Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
329000 USD
CY2017Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
3536000 USD
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
0 USD
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
0 USD
CY2018 us-gaap Unrecognized Tax Benefits Increases Resulting From Current Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
15000 USD
CY2020 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
0 USD
CY2019 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
0 USD
CY2018 us-gaap Unrecognized Tax Benefits Increases Resulting From Prior Period Tax Positions
UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
0 USD
CY2020 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
0 USD
CY2019 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
0 USD
CY2018 us-gaap Unrecognized Tax Benefits Decreases Resulting From Settlements With Taxing Authorities
UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities
0 USD
CY2019 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
300000 USD
CY2019 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
329000 USD
CY2018 us-gaap Unrecognized Tax Benefits Reductions Resulting From Lapse Of Applicable Statute Of Limitations
UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations
3060000 USD
CY2020 rock Unrecognized Tax Benefits Increase Decrease Resulting From Divestitures And Foreign Currency Translation
UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromDivestituresAndForeignCurrencyTranslation
0 USD
CY2019 rock Unrecognized Tax Benefits Increase Decrease Resulting From Divestitures And Foreign Currency Translation
UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromDivestituresAndForeignCurrencyTranslation
0 USD
CY2018 rock Unrecognized Tax Benefits Increase Decrease Resulting From Divestitures And Foreign Currency Translation
UnrecognizedTaxBenefitsIncreaseDecreaseResultingFromDivestituresAndForeignCurrencyTranslation
-162000 USD
CY2020Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
0 USD
CY2019Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
0 USD
CY2018Q4 us-gaap Unrecognized Tax Benefits
UnrecognizedTaxBenefits
329000 USD
CY2020 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
83291000 USD
CY2019 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
59928000 USD
CY2018 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
54112000 USD
CY2020 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
-18725000 USD
CY2019 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
5163000 USD
CY2018 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
9697000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
64566000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
65091000 USD
CY2018 us-gaap Net Income Loss
NetIncomeLoss
63809000 USD
CY2020 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
32664000 shares
CY2019 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
32389000 shares
CY2018 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
31979000 shares
CY2020 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
254000 shares
CY2019 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
333000 shares
CY2018 us-gaap Incremental Common Shares Attributable To Share Based Payment Arrangements
IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
555000 shares
CY2020 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
32918000 shares
CY2019 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
32722000 shares
CY2018 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
32534000 shares
CY2020Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
25229000 USD
CY2019Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
21201000 USD
CY2020Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
8034000 USD
CY2019Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
6487000 USD
CY2020Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
17730000 USD
CY2019Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
14943000 USD
CY2020Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
25764000 USD
CY2019Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
21430000 USD
CY2020 us-gaap Operating Lease Cost
OperatingLeaseCost
11001000 USD
CY2019 us-gaap Operating Lease Cost
OperatingLeaseCost
10441000 USD
CY2020 us-gaap Operating Lease Payments
OperatingLeasePayments
9502000 USD
CY2019 us-gaap Operating Lease Payments
OperatingLeasePayments
9238000 USD
CY2020 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
12745000 USD
CY2019 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
6364000 USD
CY2020Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P3Y7M6D
CY2019Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P3Y9M18D
CY2020Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.052
CY2019Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.057
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
9139000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
7635000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
6483000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
3298000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
1043000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
673000 USD
CY2020 us-gaap Revenues
Revenues
1032578000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
28271000 USD
CY2020Q4 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
2507000 USD
CY2020Q4 us-gaap Operating Lease Liability
OperatingLeaseLiability
25764000 USD
CY2018 us-gaap Lease And Rental Expense
LeaseAndRentalExpense
9700000 USD
CY2020 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
3 segment
CY2019 us-gaap Revenues
Revenues
898233000 USD
CY2018 us-gaap Revenues
Revenues
837097000 USD
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
107190000 USD
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
80812000 USD
CY2018 us-gaap Operating Income Loss
OperatingIncomeLoss
81141000 USD
CY2020 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
20915000 USD
CY2019 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
17557000 USD
CY2018 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
17439000 USD
CY2020Q4 us-gaap Assets
Assets
1212494000 USD
CY2019Q4 us-gaap Assets
Assets
984450000 USD
CY2018Q4 us-gaap Assets
Assets
1061645000 USD
CY2020 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
13068000 USD
CY2019 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
8776000 USD
CY2018 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
10368000 USD
CY2020 us-gaap Revenues
Revenues
1032578000 USD
CY2019 us-gaap Revenues
Revenues
898233000 USD
CY2018 us-gaap Revenues
Revenues
837097000 USD
CY2020 us-gaap Revenues
Revenues
1032578000 USD
CY2019 us-gaap Revenues
Revenues
898233000 USD
CY2018 us-gaap Revenues
Revenues
837097000 USD
CY2020Q4 us-gaap Noncurrent Assets
NoncurrentAssets
91161000 USD
CY2019Q4 us-gaap Noncurrent Assets
NoncurrentAssets
80132000 USD
CY2018Q4 us-gaap Noncurrent Assets
NoncurrentAssets
80248000 USD
CY2020Q1 us-gaap Revenues
Revenues
215401000 USD
CY2020Q2 us-gaap Revenues
Revenues
255184000 USD
CY2020Q3 us-gaap Revenues
Revenues
296792000 USD
CY2020Q4 us-gaap Revenues
Revenues
265201000 USD
CY2020 us-gaap Revenues
Revenues
1032578000 USD
CY2020Q1 us-gaap Gross Profit
GrossProfit
49861000 USD
CY2020Q2 us-gaap Gross Profit
GrossProfit
65561000 USD
CY2020Q3 us-gaap Gross Profit
GrossProfit
78495000 USD
CY2020Q4 us-gaap Gross Profit
GrossProfit
62426000 USD
CY2020 us-gaap Gross Profit
GrossProfit
256343000 USD
CY2020Q1 us-gaap Operating Income Loss
OperatingIncomeLoss
12777000 USD
CY2020Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
30748000 USD
CY2020Q3 us-gaap Operating Income Loss
OperatingIncomeLoss
40943000 USD
CY2020Q4 us-gaap Operating Income Loss
OperatingIncomeLoss
22722000 USD
CY2020 us-gaap Operating Income Loss
OperatingIncomeLoss
107190000 USD
CY2020Q1 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-44000 USD
CY2020Q2 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-222000 USD
CY2020Q3 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-217000 USD
CY2020Q4 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-220000 USD
CY2020 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-703000 USD
CY2020Q1 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
9902000 USD
CY2020Q2 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
24457000 USD
CY2020Q3 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
31334000 USD
CY2020Q4 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
17598000 USD
CY2020 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
83291000 USD
CY2020Q1 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
2157000 USD
CY2020Q2 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
2835000 USD
CY2020Q3 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
2426000 USD
CY2020Q4 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
-26143000 USD
CY2020 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
-18725000 USD
CY2020Q1 us-gaap Net Income Loss
NetIncomeLoss
12059000 USD
CY2020Q2 us-gaap Net Income Loss
NetIncomeLoss
27292000 USD
CY2020Q3 us-gaap Net Income Loss
NetIncomeLoss
33760000 USD
CY2020Q4 us-gaap Net Income Loss
NetIncomeLoss
-8545000 USD
CY2020 us-gaap Net Income Loss
NetIncomeLoss
64566000 USD
CY2020Q1 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.30
CY2020Q2 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.75
CY2020Q3 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.96
CY2020Q4 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.54
CY2020 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
2.55
CY2020Q1 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.30
CY2020Q2 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.74
CY2020Q3 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.95
CY2020Q4 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.53
CY2020 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
2.53
CY2020Q1 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.07
CY2020Q2 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.09
CY2020Q3 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.07
CY2020Q4 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
-0.80
CY2020 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
-0.57
CY2020Q1 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.07
CY2020Q2 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.09
CY2020Q3 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.07
CY2020Q4 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
-0.79
CY2020 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
-0.57
CY2019Q1 us-gaap Revenues
Revenues
187160000 USD
CY2019Q2 us-gaap Revenues
Revenues
224255000 USD
CY2019Q3 us-gaap Revenues
Revenues
260784000 USD
CY2019Q4 us-gaap Revenues
Revenues
226034000 USD
CY2019 us-gaap Revenues
Revenues
898233000 USD
CY2019Q1 us-gaap Gross Profit
GrossProfit
37259000 USD
CY2019Q2 us-gaap Gross Profit
GrossProfit
56468000 USD
CY2019Q3 us-gaap Gross Profit
GrossProfit
68744000 USD
CY2019Q4 us-gaap Gross Profit
GrossProfit
57426000 USD
CY2019 us-gaap Gross Profit
GrossProfit
219897000 USD
CY2019Q1 us-gaap Operating Income Loss
OperatingIncomeLoss
7192000 USD
CY2019Q2 us-gaap Operating Income Loss
OperatingIncomeLoss
25073000 USD
CY2019Q3 us-gaap Operating Income Loss
OperatingIncomeLoss
28314000 USD
CY2019Q4 us-gaap Operating Income Loss
OperatingIncomeLoss
20233000 USD
CY2019 us-gaap Operating Income Loss
OperatingIncomeLoss
80812000 USD
CY2019Q1 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-2000000 USD
CY2019Q2 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-249000 USD
CY2019Q3 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-79000 USD
CY2019Q4 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
5000 USD
CY2019Q3 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
2525000 USD
CY2019 us-gaap Interest Income Expense Net
InterestIncomeExpenseNet
-2323000 USD
CY2019Q1 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
4131000 USD
CY2019Q2 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
18803000 USD
CY2019Q3 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
21951000 USD
CY2019Q4 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
15043000 USD
CY2019 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
59928000 USD
CY2019Q1 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
2214000 USD
CY2019Q2 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
1110000 USD
CY2019Q4 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
-686000 USD
CY2019 us-gaap Income Loss From Discontinued Operations Net Of Tax Attributable To Reporting Entity
IncomeLossFromDiscontinuedOperationsNetOfTaxAttributableToReportingEntity
5163000 USD
CY2019Q1 us-gaap Net Income Loss
NetIncomeLoss
6345000 USD
CY2019Q2 us-gaap Net Income Loss
NetIncomeLoss
19913000 USD
CY2019Q3 us-gaap Net Income Loss
NetIncomeLoss
24476000 USD
CY2019Q4 us-gaap Net Income Loss
NetIncomeLoss
14357000 USD
CY2019 us-gaap Net Income Loss
NetIncomeLoss
65091000 USD
CY2019Q1 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.13
CY2019Q3 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.08
CY2019Q4 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
-0.02
CY2019Q1 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.07
CY2019Q2 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.58
CY2019Q3 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.68
CY2019Q4 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.46
CY2019 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
1.85
CY2019Q1 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.13
CY2019Q2 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.58
CY2019Q3 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.67
CY2019Q4 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.46
CY2019 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
1.83
CY2019Q2 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.04
CY2019Q3 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.07
CY2019Q4 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
-0.02
CY2019 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Basic Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerBasicShare
0.16
CY2019Q1 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.06
CY2019Q2 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.03
CY2019 us-gaap Income Loss From Discontinued Operations Net Of Tax Per Diluted Share
IncomeLossFromDiscontinuedOperationsNetOfTaxPerDilutedShare
0.16

Files In Submission

Name View Source Status
0000912562-21-000007-index-headers.html Edgar Link pending
0000912562-21-000007-index.html Edgar Link pending
0000912562-21-000007.txt Edgar Link pending
0000912562-21-000007-xbrl.zip Edgar Link pending
FilingSummary.xml Edgar Link unprocessable
Financial_Report.xlsx Edgar Link pending
MetaLinks.json Edgar Link pending
q42020exhibit21.htm Edgar Link pending
q42020exhibit231-eyconsent.htm Edgar Link pending
q42020exhibit311.htm Edgar Link pending
q42020exhibit312.htm Edgar Link pending
q42020exhibit321.htm Edgar Link pending
q42020exhibit322.htm Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R100.htm Edgar Link pending
R101.htm Edgar Link pending
R102.htm Edgar Link pending
R103.htm Edgar Link pending
R104.htm Edgar Link pending
R105.htm Edgar Link pending
R106.htm Edgar Link pending
R107.htm Edgar Link pending
R108.htm Edgar Link pending
R109.htm Edgar Link pending
R11.htm Edgar Link pending
R110.htm Edgar Link pending
R111.htm Edgar Link pending
R112.htm Edgar Link pending
R113.htm Edgar Link pending
R114.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
R95.htm Edgar Link pending
R96.htm Edgar Link pending
R97.htm Edgar Link pending
R98.htm Edgar Link pending
R99.htm Edgar Link pending
report.css Edgar Link pending
rock-20201231.htm Edgar Link pending
rock-20201231.xsd Edgar Link pending
rock-20201231_cal.xml Edgar Link unprocessable
rock-20201231_def.xml Edgar Link unprocessable
rock-20201231_g1.gif Edgar Link pending
rock-20201231_g2.jpg Edgar Link pending
rock-20201231_g3.gif Edgar Link pending
rock-20201231_htm.xml Edgar Link completed
rock-20201231_lab.xml Edgar Link unprocessable
rock-20201231_pre.xml Edgar Link unprocessable
Show.js Edgar Link pending