Document And Entity Information
Document And Entity Information - shares | 6 Months Ended | |
Jun. 30, 2019 | Jul. 31, 2019 | |
Document Information [Line Items] | ||
Entity Registrant Name | Northwest Pipe Co. | |
Entity Central Index Key | 0001001385 | |
Trading Symbol | nwpx | |
Current Fiscal Year End Date | --12-31 | |
Entity Filer Category | Accelerated Filer | |
Entity Current Reporting Status | Yes | |
Entity Emerging Growth Company | false | |
Entity Small Business | true | |
Entity Common Stock, Shares Outstanding (in shares) | 9,744,827 | |
Entity Shell Company | false | |
Document Type | 10-Q | |
Document Period End Date | Jun. 30, 2019 | |
Document Fiscal Year Focus | 2019 | |
Document Fiscal Period Focus | Q2 | |
Amendment Flag | false | |
Title of 12(b) Security | Common Stock |
Condensed Consolidated Statemen
Condensed Consolidated Statements of Operations (Unaudited) - USD ($) shares in Thousands, $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | |
Net sales | $ 69,203 | $ 28,785 | $ 131,846 | $ 62,150 |
Cost of sales | 60,985 | 30,023 | 117,057 | 62,040 |
Gross profit (loss) | 8,218 | (1,238) | 14,789 | 110 |
Selling, general, and administrative expense | 4,705 | 3,806 | 8,952 | 7,191 |
Restructuring expense | 783 | 1,088 | ||
Operating income (loss) | 3,513 | (5,827) | 5,837 | (8,169) |
Other income | 25 | 20 | 184 | 190 |
Interest income | 3 | 141 | 7 | 218 |
Interest expense | (120) | (128) | (251) | (256) |
Income (loss) before income taxes | 3,421 | (5,794) | 5,777 | (8,017) |
Income tax expense (benefit) | 447 | (108) | 638 | (380) |
Net income (loss) | $ 2,974 | $ (5,686) | $ 5,139 | $ (7,637) |
us-gaap_EarningsPerShareAbstract | ||||
Basic (in dollars per share) | $ 0.31 | $ (0.59) | $ 0.53 | $ (0.79) |
Diluted (in dollars per share) | $ 0.31 | $ (0.59) | $ 0.53 | $ (0.79) |
Shares used in per share calculations: | ||||
Basic (in shares) | 9,736 | 9,727 | 9,736 | 9,717 |
Diluted (in shares) | 9,753 | 9,727 | 9,745 | 9,717 |
Condensed Consolidated Statem_2
Condensed Consolidated Statements of Comprehensive Income (Loss) (Unaudited) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | |
Net income (loss) | $ 2,974 | $ (5,686) | $ 5,139 | $ (7,637) |
Other comprehensive income (loss), net of tax: | ||||
Pension liability adjustment | 27 | 37 | 53 | 61 |
Unrealized gain (loss) on cash flow hedges | 10 | (15) | 35 | |
Other comprehensive income (loss), net of tax | 27 | 47 | 38 | 96 |
Comprehensive income (loss) | $ 3,001 | $ (5,639) | $ 5,177 | $ (7,541) |
Condensed Consolidated Balance
Condensed Consolidated Balance Sheets (Current Period Unaudited) - USD ($) $ in Thousands | Jun. 30, 2019 | Dec. 31, 2018 |
Current assets: | ||
Cash and cash equivalents | $ 10,054 | $ 6,677 |
Trade and other receivables, less allowance for doubtful accounts of $558 and $660 | 30,162 | 34,394 |
Contract assets | 84,093 | 74,271 |
Inventories | 33,513 | 39,376 |
Prepaid expenses and other | 3,983 | 4,795 |
Total current assets | 161,805 | 159,513 |
Property and equipment, less accumulated depreciation and amortization of $81,050 and $76,861 | 100,285 | 103,447 |
Other assets | 16,962 | 8,390 |
Total assets | 279,052 | 271,350 |
Current liabilities: | ||
Accounts payable | 12,694 | 19,784 |
Accrued liabilities | 10,725 | 7,963 |
Contract liabilities | 13,986 | 3,745 |
Total current liabilities | 37,405 | 31,492 |
Borrowings on line of credit | 11,464 | |
Other long-term liabilities | 17,205 | 9,804 |
Total liabilities | 54,610 | 52,760 |
Commitments and contingencies (Note 9) | ||
Stockholders’ equity: | ||
Preferred stock, $.01 par value, 10,000,000 shares authorized, none issued or outstanding | ||
Common stock, $.01 par value, 15,000,000 shares authorized, 9,744,827 and 9,735,055 shares issued and outstanding | 97 | 97 |
Additional paid-in-capital | 119,510 | 118,835 |
Retained earnings | 106,568 | 101,194 |
Accumulated other comprehensive loss | (1,733) | (1,536) |
Total stockholders’ equity | 224,442 | 218,590 |
Total liabilities and stockholders’ equity | $ 279,052 | $ 271,350 |
Condensed Consolidated Balanc_2
Condensed Consolidated Balance Sheets (Current Period Unaudited) (Parentheticals) - USD ($) $ in Thousands | Jun. 30, 2019 | Dec. 31, 2018 |
Allowance for doubtful accounts | $ 558 | $ 660 |
Accumulated depreciation and amortization | $ 81,050 | $ 76,861 |
Preferred stock, par value (in dollars per share) | $ 0.01 | $ 0.01 |
Preferred stock, shares authorized (in shares) | 10,000,000 | 10,000,000 |
Preferred stock, shares issued (in shares) | 0 | 0 |
Preferred stock, shares outstanding (in shares) | 0 | 0 |
Common stock, par value (in dollars per share) | $ 0.01 | $ 0.01 |
Common stock, shares authorized (in shares) | 15,000,000 | 15,000,000 |
Common stock, shares issued (in shares) | 9,744,827 | 9,735,055 |
Common stock, shares outstanding (in shares) | 9,744,827 | 9,735,055 |
Condensed Consolidated Statem_3
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($) $ in Thousands | Common Stock [Member] | Additional Paid-in Capital [Member] | Retained Earnings [Member] | AOCI Attributable to Parent [Member] | Total |
Balances (in shares) at Dec. 31, 2017 | 9,619,755 | ||||
Beginning balance at Dec. 31, 2017 | $ 96 | $ 119,856 | $ 81,757 | $ (1,445) | $ 200,264 |
Net income (loss) | (7,637) | (7,637) | |||
Pension liability adjustment, net of tax expense/benefit | 61 | 61 | |||
Issuance of common stock under stock compensation plans (in shares) | 115,300 | ||||
Issuance of common stock under stock compensation plans | $ 1 | (1,302) | (1,301) | ||
Share-based compensation expense | 281 | 281 | |||
Unrealized gain (loss) on cash flow hedges, net of tax expense/benefit | 35 | 35 | |||
Cumulative-effect adjustment for ASU 2018-02 (Note 14) at Dec. 31, 2017 | (875) | (875) | |||
Balances (in shares) at Jun. 30, 2018 | 9,735,055 | ||||
Ending balance at Jun. 30, 2018 | $ 97 | 118,835 | 73,245 | (1,349) | 190,828 |
Balances (in shares) at Mar. 31, 2018 | 9,723,883 | ||||
Beginning balance at Mar. 31, 2018 | $ 97 | 118,635 | 78,931 | (1,396) | 196,267 |
Net income (loss) | (5,686) | (5,686) | |||
Pension liability adjustment, net of tax expense/benefit | 37 | 37 | |||
Issuance of common stock under stock compensation plans (in shares) | 11,172 | ||||
Issuance of common stock under stock compensation plans | |||||
Share-based compensation expense | 200 | 200 | |||
Unrealized gain (loss) on cash flow hedges, net of tax expense/benefit | 10 | 10 | |||
Balances (in shares) at Jun. 30, 2018 | 9,735,055 | ||||
Ending balance at Jun. 30, 2018 | $ 97 | 118,835 | 73,245 | (1,349) | 190,828 |
Balances (in shares) at Dec. 31, 2018 | 9,735,055 | ||||
Beginning balance at Dec. 31, 2018 | $ 97 | 118,835 | 101,194 | (1,536) | 218,590 |
Net income (loss) | 5,139 | 5,139 | |||
Pension liability adjustment, net of tax expense/benefit | 53 | 53 | |||
Issuance of common stock under stock compensation plans (in shares) | 9,772 | ||||
Issuance of common stock under stock compensation plans | |||||
Share-based compensation expense | 675 | 675 | |||
Unrealized gain (loss) on cash flow hedges, net of tax expense/benefit | (15) | (15) | |||
Cumulative-effect adjustment for ASU 2018-02 (Note 14) at Dec. 31, 2018 | 235 | (235) | |||
Balances (in shares) at Jun. 30, 2019 | 9,744,827 | ||||
Ending balance at Jun. 30, 2019 | $ 97 | 119,510 | 106,568 | (1,733) | 224,442 |
Balances (in shares) at Mar. 31, 2019 | 9,735,055 | ||||
Beginning balance at Mar. 31, 2019 | $ 97 | 118,857 | 103,594 | (1,760) | 220,788 |
Net income (loss) | 2,974 | 2,974 | |||
Pension liability adjustment, net of tax expense/benefit | 27 | 27 | |||
Issuance of common stock under stock compensation plans (in shares) | 9,772 | ||||
Issuance of common stock under stock compensation plans | |||||
Share-based compensation expense | 653 | 653 | |||
Balances (in shares) at Jun. 30, 2019 | 9,744,827 | ||||
Ending balance at Jun. 30, 2019 | $ 97 | $ 119,510 | $ 106,568 | $ (1,733) | $ 224,442 |
Condensed Consolidated Statem_4
Condensed Consolidated Statements of Stockholders' Equity (Unaudited) (Parentheticals) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | |
Pension liability adjustment, tax expense/benefit | $ 0 | $ 0 | $ 0 | $ 0 |
Unrealized gain (loss) on cash flow hedges, tax expense/benefit | $ 3 | $ (8) | $ 8 |
Condensed Consolidated Statem_5
Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($) $ in Thousands | 6 Months Ended | |
Jun. 30, 2019 | Jun. 30, 2018 | |
Cash flows from operating activities: | ||
Net income (loss) | $ 5,139 | $ (7,637) |
Adjustments to reconcile net income (loss) to net cash provided by operating activities: | ||
Depreciation and finance lease amortization | 5,713 | 3,168 |
Amortization of intangible assets | 216 | 232 |
Other, net | 1,097 | (41) |
Changes in operating assets and liabilities: | ||
Trade and other receivables | 3,319 | 12,389 |
Contract assets, net | 1,870 | (3,924) |
Inventories | 5,863 | (1,516) |
Prepaid expenses and other assets | 1,064 | 1,078 |
Accounts payable | (7,891) | (1,882) |
Accrued and other liabilities | 909 | (1,244) |
Net cash provided by operating activities | 17,299 | 623 |
Cash flows from investing activities: | ||
Additions to property and equipment | (2,645) | (1,640) |
Proceeds from sale of property and equipment | 2 | 2 |
Proceeds from insurance | 400 | |
Net cash used in investing activities from continuing operations | (2,243) | (1,638) |
Net cash provided by investing activities from discontinued operations | 750 | |
Net cash used in investing activities | (2,243) | (888) |
Cash flows from financing activities: | ||
Borrowings on line of credit | 34,034 | |
Repayments on line of credit | (45,498) | |
Tax withholdings related to net share settlements of restricted stock and performance share awards | (1,301) | |
Payments on finance lease obligations | (215) | (193) |
Net cash used in financing activities | (11,679) | (1,494) |
Change in cash and cash equivalents | 3,377 | (1,759) |
Cash and cash equivalents, beginning of period | 6,677 | 43,646 |
Cash and cash equivalents, end of period | 10,054 | 41,887 |
Noncash investing and financing activities: | ||
Accrued property and equipment purchases | 1,137 | 114 |
Right-of-use assets obtained in exchange for operating lease liabilities | 1,238 | |
Right-of-use assets obtained in exchange for finance lease liabilities | $ 458 |
Note 1 - Basis of Presentation
Note 1 - Basis of Presentation | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block] | 1. Basis of Presentation The Condensed Consolidated Financial Statements include the accounts of Northwest Pipe Company (the “Company”) and its subsidiaries over which the Company exercises control as of the financial statement date. Intercompany accounts and transactions have been eliminated. The Company operates in one The accompanying unaudited Condensed Consolidated Financial Statements have been prepared in conformity with accounting principles generally accepted in the United States of America (“U.S. GAAP”) and are expressed in United States Dollars. The financial information as of December 31, 2018 10 December 31, 2018 “2018 10 2018 10 Certain amounts from the prior year financial statements have been reclassified in order to conform to the current year presentation. Operating results for the three six June 30, 2019 not may December 31, 2019. The Company recorded revenue of $1.2 three twelve December 31, 2018, three March 31, 2019. not December 31, 2018 2019. |
Note 2 - Business Combination
Note 2 - Business Combination | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Business Combination Disclosure [Text Block] | 2. Business Combination On July 27, 2018, 100% $38.1 ® The following table summarizes the purchase consideration and fair value of the assets acquired and liabilities assumed as of July 27, 2018 Assets Cash and cash equivalents $ 912 Trade and other receivables 8,887 Contract assets 12,018 Inventories 7,937 Prepaid expenses and other 3,777 Property and equipment 34,827 Other assets 320 Total assets acquired 68,678 Liabilities Accounts payable 5,520 Accrued liabilities 1,599 Contract liabilities 123 Deferred income taxes 3,221 Total liabilities assumed 10,463 Bargain purchase gain (20,080 ) Total purchase consideration $ 38,135 The Company recorded no three six June 30, 2019. The excess of the aggregate net fair value of assets acquired and liabilities assumed over the fair value of consideration transferred as the purchase price has been recorded as a bargain purchase gain. When it became apparent there was a potential for a bargain purchase gain, management reviewed the Ameron assets acquired and liabilities assumed as well as the assumptions utilized in estimating their fair values. Upon completion of this reassessment, the Company concluded that recording a bargain purchase gain with respect to Ameron was appropriate and required under U.S. GAAP. The Company believes the seller was motivated to complete the transaction as part of an overall repositioning of its business. The Company incurred acquisition-related costs of approximately $0 $0.1 three six June 30, 2019, $0.1 three six June 30, 2018. The following unaudited pro forma summary presents the consolidated results of the Company as if the acquisition of Ameron had occurred on January 1 Three Months Ended June 30, 2018 Six Months Ended June 30, 2018 Net sales $ 42,152 $ 85,719 Net loss (2,267 ) (24,881 ) This unaudited pro forma consolidated financial data is included only for the purpose of illustration and does not January 1 not January 1 no |
Note 3 - Discontinued Operation
Note 3 - Discontinued Operations | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Disposal Groups, Including Discontinued Operations, Disclosure [Text Block] | 3. Discontinued Operations On December 26, 2017, $37.2 $0.8 February 2018 $3.7 December 2018. |
Note 4 - Inventories
Note 4 - Inventories | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Inventory Disclosure [Text Block] | 4. Inventories Inventories consist of the following (in thousands): June 30, 2019 December 31, 2018 Raw materials $ 29,564 $ 34,426 Work-in-process 1,515 2,368 Finished goods 915 1,075 Supplies 1,519 1,507 Total inventories $ 33,513 $ 39,376 |
Note 5 - Leases
Note 5 - Leases | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Lessee, Lease, Disclosure [Text Block] | 5. Leases The Company has entered into various equipment and property leases with terms of ten not The Company determines if an arrangement is a lease at inception. Leases with an initial term of twelve not not Lease cost consists of the following (in thousands): Three Months Ended Six Months Ended June 30, 2019 June 30, 2019 Finance lease cost: Amortization of right-of-use assets $ 110 $ 219 Interest on lease liabilities 14 29 Operating lease cost 480 905 Short-term lease cost 313 575 Variable lease cost 35 75 Total lease cost $ 952 $ 1,803 June 30, 2019 Finance Leases Operating Leases Remainder of 2019 $ 225 $ 1,019 2020 375 1,934 2021 258 1,257 2022 237 951 2023 34 802 Thereafter - 4,478 Total lease payments 1,129 10,441 Amount representing interest (89 ) (1,810 ) Present value of lease liabilities 1,040 8,631 Current portion of lease liabilities, included in Accrued liabilities (369 ) (1,667 ) Lease liabilities, less current portion, included in Other long-term liabilities $ 671 $ 6,964 The following table summarizes the lease terms and discount rates for the lease liabilities: June 30, 2019 Weighted-average remaining lease term (years) Finance leases 3.12 Operating leases 8.42 Weighted-average discount rate Finance leases 5.06 % Operating leases 4.51 % The following table presents other information related to the operating and finance leases (in thousands): Six Months Ended June 30, 2019 Cash paid for amounts included in the measurement of lease liabilities: Operating cash flows from operating leases $ (887 ) Operating cash flows from finance leases (29 ) Financing cash flows from finance leases (215 ) Right-of-use assets obtained in exchange for operating lease liabilities 1,238 Right-of-use assets obtained in exchange for finance lease liabilities - |
Note 6 - Fair Value Measurement
Note 6 - Fair Value Measurements | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Fair Value Disclosures [Text Block] | 6. Fair Value Measurements The Company records its financial assets and liabilities at fair value, which is defined as the price that would be received to sell an asset or paid to transfer a liability, in the principal or most advantageous market for the asset or liability, in an orderly transaction between market participants at the measurement date. The authoritative guidance establishes a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three 1 2 3 no The following table summarizes information regarding the Company’s financial assets and liabilities that are measured at fair value on a recurring basis (in thousands): Total Level 1 Level 2 Level 3 As of June 30, 2019 Financial assets: Deferred compensation plan $ 5,265 $ 4,463 $ 802 $ - Financial liabilities: Foreign currency forward contracts $ (27 ) $ - $ (27 ) $ - As of December 31, 2018 Financial assets: Deferred compensation plan $ 4,719 $ 3,925 $ 794 $ - Foreign currency forward contracts 101 - 101 - Total financial assets $ 4,820 $ 3,925 $ 895 $ - The deferred compensation plan assets consist of cash and several publicly traded stock and bond mutual funds, valued using quoted market prices in active markets, classified as Level 1 2 The Company’s foreign currency forward contracts are derivatives valued using various pricing models or discounted cash flow analyses that incorporate observable market parameters, such as interest rate yield curves and currency rates, and are classified as Level 2 The net carrying amounts of cash and cash equivalents, trade and other receivables, accounts payable, accrued liabilities, and borrowings on the line of credit approximate fair value due to the short-term nature of these instruments. |
Note 7 - Share-based Compensati
Note 7 - Share-based Compensation | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Share-based Payment Arrangement [Text Block] | 7. Share-based Compensation The Company has one 2007 The Company recognizes the compensation cost of employee and director services received in exchange for awards of equity instruments based on the grant date estimated fair value of the awards. Share-based compensation cost is recognized over the period during which the employee or director is required to provide service in exchange for the award and, as forfeitures occur, the associated compensation cost recognized to date is reversed. For awards with performance-based payout conditions, the Company recognizes compensation cost based on the probability of achieving the performance conditions, with changes in expectations recognized as an adjustment to earnings in the period of change. Any recognized compensation cost is reversed if the conditions are ultimately not The following table summarizes share-based compensation expense recorded (in thousands): Three Months Ended June 30, Six Months Ended June 30, 2019 2018 2019 2018 Cost of sales $ 118 $ (5 ) $ 124 $ 12 Selling, general, and administrative expense 535 205 551 269 Total $ 653 $ 200 $ 675 $ 281 Stock Option Awards A summary of option activity under the Company’s stock option plans is presented below: Options Outstanding Weighted- Average Exercise Price Weighted- Average Remaining Contractual Life Aggregate Intrinsic Value (in years) (In thousands) Balance, December 31, 2018 24,000 $ 24.15 Options granted - - Options exercised - - Options canceled - - Balance, June 30, 2019 24,000 24.15 Exercisable, June 30, 2019 24,000 24.15 0.75 $ 39 Restricted Stock Units and Performance Share Awards RSUs and PSAs are measured at the estimated fair value on the date of grant. RSUs are service-based awards and vest according to vesting schedules, which range from immediate to ratably over a three may A summary of activity under the Company’s RSUs and PSAs is presented below: Number of RSUs and PSAs (1) Weighted- Average Grant Date Fair Value Unvested PSAs as of December 31, 2018 39,992 $ 19.97 RSUs and PSAs granted 86,701 23.56 Unvested RSUs and PSAs canceled - - PSAs vested (2) (39,992 ) 19.97 Unvested RSUs and PSAs as of June 30, 2019 86,701 23.56 ( 1 The number of PSAs disclosed in this table are at the target level of 100%. ( 2 The PSAs vested on March 29, 2019; 0% not The unvested balance of RSUs and PSAs as of June 30, 2019 65,000 0% 150%. As of June 30, 2019, $1.9 1.5 Stock Awards For the six June 30, 2019 2018, 9,772 11,172 $24.56 2019 $21.48 2018. |
Note 8 - Shareholder Rights Pla
Note 8 - Shareholder Rights Plan | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Shareholder Rights Plan Disclosure [Text Block] | 8. Shareholder Rights Plan In June 1999, 150,000 one July 9, 1999. one one $83.00, 15% two may $0.01 On June 18, 2009, June 28, 1999 June 28, 2009 June 28, 2019. On June 28, 2019, no |
Note 9 - Commitments and Contin
Note 9 - Commitments and Contingencies | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Commitments and Contingencies Disclosure [Text Block] | 9. Commitments and Contingencies Portland Harbor Superfund Site In December 2000, not 14 February 2016, June 2016, January 2017, $1 13 not 150 no In 2001, one February 2005, 2016, 2019; Concurrent with the activities of the EPA and the ODEQ, the Portland Harbor Natural Resources Trustee Council (“Trustees”) sent some or all of the same parties, including the Company, a notice of intent to perform a Natural Resource Damage Assessment (“NRDA”) for the Portland Harbor Superfund Site to determine the nature and extent of natural resource damages under CERCLA Section 107. three one June 2014, $0.4 not may In January 2017, 2009, not The Company has insurance policies for defense costs, as well as indemnification policies it believes will provide reimbursement for any share of the remediation assessed. However, the Company can provide no may All Sites The Company operates its facilities under numerous governmental permits and licenses relating to air emissions, stormwater runoff, and other environmental matters. The Company’s operations are also governed by many other laws and regulations, including those relating to workplace safety and worker health, principally the Occupational Safety and Health Act and regulations there under which, among other requirements, establish noise and dust standards. The Company believes it is in material compliance with its permits and licenses and these laws and regulations, and the Company does not Other Contingencies and Legal Proceedings From time to time, the Company is involved in litigation relating to claims arising out of its operations in the normal course of its business. The Company maintains insurance coverage against potential claims in amounts that are believed to be adequate. To the extent that insurance does not not On April 21, 2019, no June 30, 2019, $0.9 $0.1 $0.4 $0.5 June 30, 2019, $3.2 No June 30, 2019. Guarantees The Company has entered into certain letters of credit that total $1.6 June 30, 2019. |
Note 10 - Revenue
Note 10 - Revenue | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Revenue from Contract with Customer [Text Block] | 10. Revenue The Company manufactures water infrastructure steel pipe products, which are generally made to custom specifications for installation contractors serving projects funded by public water agencies. Generally, each of the Company’s contracts with its customers contains a single performance obligation, as the promise to transfer products is not not For a majority of contracts, revenue is recognized over time as the manufacturing process progresses because of the Company’s right to payment for work performed to date plus a reasonable profit on cancellations for unique products that have no may Provisions for losses on uncompleted contracts, included in Accrued liabilities, are estimated by comparing total estimated contract revenue to the total estimated contract costs and a loss is recognized during the period in which it becomes probable and can be reasonably estimated. The Company does not Revisions in contract estimates resulted in an increase (decrease) in revenue of approximately $0 1.5 three six June 30, 2019, 0.1 $0.7 three six June 30, 2018, Contract Assets and Liabilities Contract assets primarily represent revenue earned over time but not 30 Contract liabilities represent advance billings on contracts, typically for steel. The Company recognized revenue that was included in the contract liabilities balance at the beginning of each period of $0.9 $3.4 three six June 30, 2019, $1.1 $2.5 three six June 30, 2018, Backlog Backlog represents the balance of remaining performance obligations under signed contracts. As of June 30, 2019, $180.2 58% 2019, 21% 2020, |
Note 11 - Income Taxes
Note 11 - Income Taxes | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Income Tax Disclosure [Text Block] | 11. Income Taxes The Company files income tax returns in the United States Federal jurisdiction, in a limited number of foreign jurisdictions, and in many state jurisdictions. With few exceptions, the Company is no 2014. The Company recorded an income tax expense (benefit) at an estimated effective income tax rate of 13.1% 11.0% three six June 30, 2019, 1.9% 4.7% three six June 30, 2018, three six June 30, 2019 965 June 2019 The Company had $4.4 June 30, 2019 December 31, 2018. not twelve |
Note 12 - Accumulated Other Com
Note 12 - Accumulated Other Comprehensive Loss | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Comprehensive Income (Loss) Note [Text Block] | 12. Accumulated Other Comprehensive Loss The following tables summarize changes in the components of Accumulated other comprehensive loss (in thousands). All amounts are net of income tax: Pension Liability Adjustment Unrealized Gain (Loss) on Cash Flow Hedges Total Balance, December 31, 2018 $ (1,551 ) $ 15 $ (1,536 ) Cumulative-effect adjustment for ASU 2018-02 (Note 14) (235 ) - (235 ) Other comprehensive income (loss) before reclassifications 47 (10 ) 37 Amounts reclassified from Accumulated other comprehensive loss 6 (5 ) 1 Net current period adjustments to Other comprehensive income 53 (15 ) 38 Balance, June 30, 2019 $ (1,733 ) $ - $ (1,733 ) The following table provides additional detail about Accumulated other comprehensive loss components that were reclassified to the Condensed Consolidated Statements of Operations (in thousands): Details about Accumulated Amount reclassified from Accumulated Other Comprehensive Loss Affected line item in the Other Comprehensive Three Months Ended June 30, Six Months Ended June 30, Condensed Consolidated Loss Components 2019 2018 2019 2018 Statements of Operations Pension liability adjustment: Net periodic pension cost: Service cost $ (3 ) $ - $ (6 ) $ - Cost of sales (3 ) - (6 ) - Net of tax Unrealized gain (loss) on cash flow hedges: Gain (loss) on cash flow hedges - - 7 (3 ) Net sales Associated income tax (expense) benefit - - (2 ) 1 Income tax expense (benefit) - - 5 (2 ) Net of tax Total reclassifications for the period $ (3 ) $ - $ (1 ) $ (2 ) |
Note 13 - Net Income (Loss) Per
Note 13 - Net Income (Loss) Per Share | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Earnings Per Share [Text Block] | 13. Net Income (Loss) per Share Basic net income (loss) per share is computed by dividing the net income (loss) by the weighted-average number of shares of common stock outstanding during the period. Diluted net income (loss) per share is computed by giving effect to all potential shares of common stock, including stock options, RSUs, and PSAs, to the extent dilutive. Performance-based PSAs are considered dilutive when the related performance conditions have been met assuming the end of the reporting period represents the end of the performance period. In periods with a net loss, all potential shares of common stock are excluded from the computation of diluted net loss per share as the impact would be antidilutive. Net income (loss) per basic and diluted weighted-average common share outstanding was calculated as follows (in thousands, except per share amounts): Three Months Ended June 30, Six Months Ended June 30, 2019 2018 2019 2018 Net income (loss) $ 2,974 $ (5,686 ) $ 5,139 $ (7,637 ) Basic weighted-average common shares outstanding 9,736 9,727 9,736 9,717 Effect of potentially dilutive common shares (1) 17 - 9 - Diluted weighted-average common shares outstanding 9,753 9,727 9,745 9,717 Net income (loss) per common share: Basic $ 0.31 $ (0.59 ) $ 0.53 $ (0.79 ) Diluted $ 0.31 $ (0.59 ) $ 0.53 $ (0.79 ) ( 1 The weighted-average number of antidilutive shares not 64,000 75,000 three six June 30, 2018, 40,000 37,000, 100%, not not June 30, 2018. |
Note 14 - Recent Accounting and
Note 14 - Recent Accounting and Reporting Developments | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
New Accounting Pronouncements and Changes in Accounting Principles [Text Block] | 14. Recent Accounting and Reporting Developments There have been no 2018 10 Accounting Changes In February 2016, No. 2016 02, 842 2016 02” 2018 2019, 2016 02 not 842, January 1, 2019 2019. not twelve January 1, 2019, $8.0 In August 2017, No. 2017 12, 815 January 1, 2019 not In February 2018, No. 2018 02, 220 2018 02” 2017. January 1, 2019, $0.2 no In July 2018, No. 2018 09, January 1, 2019 not |
Note 15 - Restructuring
Note 15 - Restructuring | 6 Months Ended |
Jun. 30, 2019 | |
Notes to Financial Statements | |
Restructuring and Related Activities Disclosure [Text Block] | 15. Restructuring In March 2018, ® ® second 2018. March 2018, second 2018, December 2018. $0.8 $1.1 three six June 30, 2018, $0.4 $0.6 $0.4 $0.5 |
Note 2 - Business Combination (
Note 2 - Business Combination (Tables) | 6 Months Ended |
Jun. 30, 2019 | |
Notes Tables | |
Schedule of Business Acquisitions, by Acquisition [Table Text Block] | Assets Cash and cash equivalents $ 912 Trade and other receivables 8,887 Contract assets 12,018 Inventories 7,937 Prepaid expenses and other 3,777 Property and equipment 34,827 Other assets 320 Total assets acquired 68,678 Liabilities Accounts payable 5,520 Accrued liabilities 1,599 Contract liabilities 123 Deferred income taxes 3,221 Total liabilities assumed 10,463 Bargain purchase gain (20,080 ) Total purchase consideration $ 38,135 |
Business Acquisition, Pro Forma Information [Table Text Block] | Three Months Ended June 30, 2018 Six Months Ended June 30, 2018 Net sales $ 42,152 $ 85,719 Net loss (2,267 ) (24,881 ) |
Note 4 - Inventories (Tables)
Note 4 - Inventories (Tables) | 6 Months Ended |
Jun. 30, 2019 | |
Notes Tables | |
Schedule Of Inventory Current And Non Current [Table Text Block] | June 30, 2019 December 31, 2018 Raw materials $ 29,564 $ 34,426 Work-in-process 1,515 2,368 Finished goods 915 1,075 Supplies 1,519 1,507 Total inventories $ 33,513 $ 39,376 |
Note 5 - Leases (Tables)
Note 5 - Leases (Tables) | 6 Months Ended |
Jun. 30, 2019 | |
Notes Tables | |
Lease, Cost [Table Text Block] | Three Months Ended Six Months Ended June 30, 2019 June 30, 2019 Finance lease cost: Amortization of right-of-use assets $ 110 $ 219 Interest on lease liabilities 14 29 Operating lease cost 480 905 Short-term lease cost 313 575 Variable lease cost 35 75 Total lease cost $ 952 $ 1,803 |
Lessee, Liability, Maturity [Table Text Block] | Finance Leases Operating Leases Remainder of 2019 $ 225 $ 1,019 2020 375 1,934 2021 258 1,257 2022 237 951 2023 34 802 Thereafter - 4,478 Total lease payments 1,129 10,441 Amount representing interest (89 ) (1,810 ) Present value of lease liabilities 1,040 8,631 Current portion of lease liabilities, included in Accrued liabilities (369 ) (1,667 ) Lease liabilities, less current portion, included in Other long-term liabilities $ 671 $ 6,964 |
Lease Terms and Discount Rates for Lease Liabilities [Table Text Block] | June 30, 2019 Weighted-average remaining lease term (years) Finance leases 3.12 Operating leases 8.42 Weighted-average discount rate Finance leases 5.06 % Operating leases 4.51 % |
Other Information Related to Operating and Finance Leases [Table Text Block] | Six Months Ended June 30, 2019 Cash paid for amounts included in the measurement of lease liabilities: Operating cash flows from operating leases $ (887 ) Operating cash flows from finance leases (29 ) Financing cash flows from finance leases (215 ) Right-of-use assets obtained in exchange for operating lease liabilities 1,238 Right-of-use assets obtained in exchange for finance lease liabilities - |
Note 6 - Fair Value Measureme_2
Note 6 - Fair Value Measurements (Tables) | 6 Months Ended |
Jun. 30, 2019 | |
Notes Tables | |
Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block] | Total Level 1 Level 2 Level 3 As of June 30, 2019 Financial assets: Deferred compensation plan $ 5,265 $ 4,463 $ 802 $ - Financial liabilities: Foreign currency forward contracts $ (27 ) $ - $ (27 ) $ - As of December 31, 2018 Financial assets: Deferred compensation plan $ 4,719 $ 3,925 $ 794 $ - Foreign currency forward contracts 101 - 101 - Total financial assets $ 4,820 $ 3,925 $ 895 $ - |
Note 7 - Share-based Compensa_2
Note 7 - Share-based Compensation (Tables) | 6 Months Ended |
Jun. 30, 2019 | |
Notes Tables | |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] | Three Months Ended June 30, Six Months Ended June 30, 2019 2018 2019 2018 Cost of sales $ 118 $ (5 ) $ 124 $ 12 Selling, general, and administrative expense 535 205 551 269 Total $ 653 $ 200 $ 675 $ 281 |
Share-based Payment Arrangement, Option, Activity [Table Text Block] | Options Outstanding Weighted- Average Exercise Price Weighted- Average Remaining Contractual Life Aggregate Intrinsic Value (in years) (In thousands) Balance, December 31, 2018 24,000 $ 24.15 Options granted - - Options exercised - - Options canceled - - Balance, June 30, 2019 24,000 24.15 Exercisable, June 30, 2019 24,000 24.15 0.75 $ 39 |
Schedule of Unvested Restricted Stock Units and Performance Share Awards Activity [Table Text Block] | Number of RSUs and PSAs (1) Weighted- Average Grant Date Fair Value Unvested PSAs as of December 31, 2018 39,992 $ 19.97 RSUs and PSAs granted 86,701 23.56 Unvested RSUs and PSAs canceled - - PSAs vested (2) (39,992 ) 19.97 Unvested RSUs and PSAs as of June 30, 2019 86,701 23.56 |
Note 12 - Accumulated Other C_2
Note 12 - Accumulated Other Comprehensive Loss (Tables) | 6 Months Ended |
Jun. 30, 2019 | |
Notes Tables | |
Schedule of Changes in Accumulated Other Comprehensive Income Loss [Table Text Block] | <table cellpadding="0pt" cellspacing="0pt" style="; font-size: 10pt; font-family: "Times New Roman", Times, serif; text-indent: 0px; margin: 0pt 2.5%; min-; min-width: 700px;"> <tr style="vertical-align: bottom; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Pension</div></div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Liability Adjustment</div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Unrealized Gain</div></div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">(Loss) on Cash</div></div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Flow Hedges</div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Total</div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance, December 31, 2018</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,551</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,536</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cumulative-effect adjustment for ASU 2018-02 (Note 14)</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(235</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(235</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other comprehensive income (loss) before reclassifications</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">47</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(10</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -9pt;">Amounts reclassified from Accumulated other comprehensive loss</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net current period adjustments to Other comprehensive income</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(15</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance, June 30, 2019</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,733</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,733</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> </tr> </table></div>" id="sjs-B4"><div style="display: inline; font-family: times new roman; font-size: 10pt"><table cellpadding="0pt" cellspacing="0pt" style="; font-size: 10pt; font-family: "Times New Roman", Times, serif; text-indent: 0px; margin: 0pt 2.5%; min-; min-width: 700px;"> <tr style="vertical-align: bottom; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Pension</div></div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Liability Adjustment</div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Unrealized Gain</div></div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">(Loss) on Cash</div></div></div> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Flow Hedges</div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> <td colspan="2" style="text-align: center; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <div style=" font-family:'Times New Roman', Times, serif;font-size:10pt;margin:0pt;text-align:center;"><div style="display: inline; font-weight: bold;"><div style="display: inline; font-weight: bold;">Total</div></div></div> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance, December 31, 2018</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,551</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">15</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,536</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Cumulative-effect adjustment for ASU 2018-02 (Note 14)</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(235</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(235</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 9pt;">Other comprehensive income (loss) before reclassifications</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">47</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(10</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">37</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt; margin-left: 18pt; text-indent: -9pt;">Amounts reclassified from Accumulated other comprehensive loss</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">6</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(5</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">1</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Net current period adjustments to Other comprehensive income</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">53</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(15</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">38</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(255, 255, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 12%;"> </td> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 1%;"> </td> </tr> <tr style="vertical-align: bottom; background-color: rgb(204, 238, 255); font-family: "Times New Roman", Times, serif; font-size: 10pt;"> <td style="font-family: "Times New Roman", Times, serif; font-size: 10pt; width: 50%;"> <div style=" font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-top: 0pt; margin-bottom: 0pt;">Balance, June 30, 2019</div> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,733</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">-</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt;"> </td> <td style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td> <td style="width: 12%; text-align: right; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);"><div style="display: inline; font-style: italic; font-weight: inherit; font-style: normal;">(1,733</div></td> <td nowrap="nowrap" style="width: 1%; font-family: "Times New Roman", Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 3px;">)</td> </tr> </table></div> |
Reclassification out of Accumulated Other Comprehensive Income [Table Text Block] | Details about Accumulated Amount reclassified from Accumulated Other Comprehensive Loss Affected line item in the Other Comprehensive Three Months Ended June 30, Six Months Ended June 30, Condensed Consolidated Loss Components 2019 2018 2019 2018 Statements of Operations Pension liability adjustment: Net periodic pension cost: Service cost $ (3 ) $ - $ (6 ) $ - Cost of sales (3 ) - (6 ) - Net of tax Unrealized gain (loss) on cash flow hedges: Gain (loss) on cash flow hedges - - 7 (3 ) Net sales Associated income tax (expense) benefit - - (2 ) 1 Income tax expense (benefit) - - 5 (2 ) Net of tax Total reclassifications for the period $ (3 ) $ - $ (1 ) $ (2 ) |
Note 13 - Net Income (Loss) P_2
Note 13 - Net Income (Loss) Per Share (Tables) | 6 Months Ended |
Jun. 30, 2019 | |
Notes Tables | |
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] | Three Months Ended June 30, Six Months Ended June 30, 2019 2018 2019 2018 Net income (loss) $ 2,974 $ (5,686 ) $ 5,139 $ (7,637 ) Basic weighted-average common shares outstanding 9,736 9,727 9,736 9,717 Effect of potentially dilutive common shares (1) 17 - 9 - Diluted weighted-average common shares outstanding 9,753 9,727 9,745 9,717 Net income (loss) per common share: Basic $ 0.31 $ (0.59 ) $ 0.53 $ (0.79 ) Diluted $ 0.31 $ (0.59 ) $ 0.53 $ (0.79 ) |
Note 1 - Basis of Presentation
Note 1 - Basis of Presentation (Details Textual) $ in Thousands | 3 Months Ended | 6 Months Ended | |||
Jun. 30, 2019USD ($) | Mar. 31, 2019USD ($) | Jun. 30, 2018USD ($) | Jun. 30, 2019USD ($) | Jun. 30, 2018USD ($) | |
Number of Operating Segments | 1 | ||||
Revenue from Contract with Customer, Including Assessed Tax | $ 69,203 | $ 28,785 | $ 131,846 | $ 62,150 | |
Out of Period Adjustment [Member] | |||||
Revenue from Contract with Customer, Including Assessed Tax | $ 1,200 |
Note 2 - Business Combination_2
Note 2 - Business Combination (Details Textual) - Ameron Water Transmission Group, LLC [Member] - USD ($) | Jul. 27, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 |
Business Acquisition, Percentage of Voting Interests Acquired | 100.00% | ||||
Business Combination, Consideration Transferred, Total | $ 38,135,000 | ||||
Business Combination, Acquisition Related Costs | $ 0 | $ 100,000 | $ 100,000 | $ 100,000 |
Note 2 - Business Combination -
Note 2 - Business Combination - Assets Acquired and Liabilities Assumed (Details) - Ameron Water Transmission Group, LLC [Member] $ in Thousands | Jul. 27, 2018USD ($) |
Assets | |
Cash and cash equivalents | $ 912 |
Trade and other receivables | 8,887 |
Contract assets | 12,018 |
Inventories | 7,937 |
Prepaid expenses and other | 3,777 |
Property and equipment | 34,827 |
Other assets | 320 |
Total assets acquired | 68,678 |
Liabilities | |
Accounts payable | 5,520 |
Accrued liabilities | 1,599 |
Contract liabilities | 123 |
Deferred income taxes | 3,221 |
Total liabilities assumed | 10,463 |
Bargain purchase gain | (20,080) |
Total purchase consideration | $ 38,135 |
Note 2 - Business Combination_3
Note 2 - Business Combination - Pro Forma Summary (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended |
Jun. 30, 2018 | Jun. 30, 2018 | |
Net sales | $ 42,152 | $ 85,719 |
Net loss | $ (2,267) | $ (24,881) |
Note 3 - Discontinued Operati_2
Note 3 - Discontinued Operations (Details Textual) - Atchison Facility [Member] $ in Millions | Dec. 26, 2017USD ($) |
Disposal Group, Including Discontinued Operation, Consideration | $ 37.2 |
Placed in Escrow Unitil February 2018 [Member] | |
Escrow Deposits Related to Property Sales | 0.8 |
Placed in Escrow Until December 2018 [Member] | |
Escrow Deposits Related to Property Sales | $ 3.7 |
Note 4 - Inventories - Componen
Note 4 - Inventories - Components of Inventories (Details) - USD ($) $ in Thousands | Jun. 30, 2019 | Dec. 31, 2018 |
Raw materials | $ 29,564 | $ 34,426 |
Work-in-process | 1,515 | 2,368 |
Finished goods | 915 | 1,075 |
Supplies | 1,519 | 1,507 |
Total inventories | $ 33,513 | $ 39,376 |
Note 5 - Leases (Details Textua
Note 5 - Leases (Details Textual) | 6 Months Ended |
Jun. 30, 2019 | |
Maximum [Member] | |
Lessee, Term of Contract | 10 years |
Note 5 - Leases - Lease Cost (D
Note 5 - Leases - Lease Cost (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended |
Jun. 30, 2019 | Jun. 30, 2019 | |
Amortization of right-of-use assets | $ 110 | $ 219 |
Interest on lease liabilities | 14 | 29 |
Operating lease cost | 480 | 905 |
Short-term lease cost | 313 | 575 |
Variable lease cost | 35 | 75 |
Total lease cost | $ 952 | $ 1,803 |
Note 5 - Leases - Future Maturi
Note 5 - Leases - Future Maturities of Lease Liabilities (Details) $ in Thousands | Jun. 30, 2019USD ($) |
Remainder of 2019, finance leases | $ 225 |
Remainder of 2019, operating leases | 1,019 |
2020, finance leases | 375 |
2020, operating leases | 1,934 |
2021, finance leases | 258 |
2021, operating leases | 1,257 |
2022, finance leases | 237 |
2022, operating leases | 951 |
2023, finance leases | 34 |
2023, operating leases | 802 |
Thereafter, finance leases | |
Thereafter, operating leases | 4,478 |
Total lease payments, finance leases | 1,129 |
Total lease payments, operating leases | 10,441 |
Amount representing interest, finance leases | (89) |
Amount representing interest, operating leases | (1,810) |
Present value of lease liabilities, finance leases | 1,040 |
Present value of lease liabilities, operating leases | 8,631 |
Current portion of lease liabilities, included in Accrued liabilities, finance leases | (369) |
Current portion of lease liabilities, included in Accrued liabilities, operating leases | (1,667) |
Lease liabilities, less current portion, included in Other long-term liabilities, finance leases | 671 |
Lease liabilities, less current portion, included in Other long-term liabilities, operating leases | $ 6,964 |
Note 5 - Leases - Lease Terms a
Note 5 - Leases - Lease Terms and Discount Rates for Lease Liabilities (Details) | Jun. 30, 2019 |
Finance leases, weighted-average remaining lease term (Year) | 3 years 43 days |
Operating leases, weighted-average remaining lease term (Year) | 8 years 153 days |
Finance leases, weighted-average discount rate | 5.06% |
Operating leases, weighted-average discount rate | 4.51% |
Note 5 - Leases - Other Informa
Note 5 - Leases - Other Information Related to Operating and Finance Leases (Details) - USD ($) $ in Thousands | 6 Months Ended | |
Jun. 30, 2019 | Jun. 30, 2018 | |
Operating cash flows from operating leases | $ (887) | |
Operating cash flows from finance leases | (29) | |
Payments on finance lease obligations | (215) | $ (193) |
Right-of-use assets obtained in exchange for operating lease liabilities | 1,238 | |
Right-of-use assets obtained in exchange for finance lease liabilities | $ 458 |
Note 6 - Fair Value Measureme_3
Note 6 - Fair Value Measurements - Assets and Liabilities Measured at Fair Value on Recurring Basis (Details) - USD ($) $ in Thousands | Jun. 30, 2019 | Dec. 31, 2018 |
Deferred compensation plan | $ 5,265 | $ 4,719 |
Foreign currency forward contracts | (27) | |
Foreign currency forward contracts | 101 | |
Total financial assets | 4,820 | |
Fair Value, Inputs, Level 1 [Member] | ||
Deferred compensation plan | 4,463 | 3,925 |
Foreign currency forward contracts | ||
Foreign currency forward contracts | ||
Total financial assets | 3,925 | |
Fair Value, Inputs, Level 2 [Member] | ||
Deferred compensation plan | 802 | 794 |
Foreign currency forward contracts | (27) | |
Foreign currency forward contracts | 101 | |
Total financial assets | 895 | |
Fair Value, Inputs, Level 3 [Member] | ||
Deferred compensation plan | ||
Foreign currency forward contracts | ||
Foreign currency forward contracts | ||
Total financial assets |
Note 7 - Share-based Compensa_3
Note 7 - Share-based Compensation (Details Textual) $ / shares in Units, $ in Millions | 6 Months Ended | |
Jun. 30, 2019USD ($)$ / sharesshares | Jun. 30, 2018$ / sharesshares | |
Number Of Active Stock Incentive Plans | 1 | |
Restricted Stock Units and Performance Share Award Target Level, Percentage | 100.00% | 100.00% |
Performance Awards Issued Multiplier | 0.00% | |
Director [Member] | ||
Share-based Goods and Nonemployee Services Transaction, Quantity of Securities Issued | 9,772 | 11,172 |
Share-based Compensation Arrangement by Stock-based Payment Award, Grant Date Fair Value | $ / shares | $ 24.56 | $ 21.48 |
Minimum [Member] | ||
Performance Awards Issued Multiplier | 0.00% | |
Maximum [Member] | ||
Performance Awards Issued Multiplier | 150.00% | |
Restricted Stock Units (RSUs) [Member] | ||
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period | 3 years | |
Performance Shares [Member] | ||
Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Nonvested Number At Target Level Of Performance | 65,000 | |
Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount | $ | $ 1.9 | |
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition | 1 year 182 days |
Note 7 - Share-based Compensa_4
Note 7 - Share-based Compensation - Share-based Compensation Expense (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | |
Share-based compensation expense | $ 653 | $ 200 | $ 675 | $ 281 |
Cost of Sales [Member] | ||||
Share-based compensation expense | 118 | (5) | 124 | 12 |
Selling, General and Administrative Expenses [Member] | ||||
Share-based compensation expense | $ 535 | $ 205 | $ 551 | $ 269 |
Note 7 - Share-based Compensa_5
Note 7 - Share-based Compensation - Stock Option Activity (Details) $ / shares in Units, $ in Thousands | 6 Months Ended |
Jun. 30, 2019USD ($)$ / sharesshares | |
Balance, shares (in shares) | shares | 24,000 |
Balance, weighted average exercise price (in dollars per share) | $ / shares | $ 24.15 |
Options granted, shares (in shares) | shares | |
Options granted, weighted average exercise price (in dollars per share) | $ / shares | |
Options exercised, shares (in shares) | shares | |
Options exercised, weighted average exercise price (in dollars per share) | $ / shares | |
Options canceled, shares (in shares) | shares | |
Options canceled, weighted average exercise price (in dollars per share) | $ / shares | |
Balance, shares (in shares) | shares | 24,000 |
Balance, weighted average exercise price (in dollars per share) | $ / shares | $ 24.15 |
Exercisable, shares (in shares) | shares | 24,000 |
Exercisable, weighted average exercise price (in dollars per share) | $ / shares | $ 24.15 |
Exercisable, weighted average remaining contractual life (Year) | 273 days |
Exercisable, aggregate instrinsic value | $ | $ 39 |
Note 7 - Share-based Compensa_6
Note 7 - Share-based Compensation - RSU and PSA Activity (Details) - Restricted Stock Units and Performance Stock Awards [Member] | 6 Months Ended | |
Jun. 30, 2019$ / sharesshares | ||
Unvested RSUs and PSAs (in shares) | shares | 39,992 | [1] |
Unvested RSUs and PSAs (in dollars per share) | $ / shares | $ 19.97 | |
RSUs and PSAs granted (in shares) | shares | 86,701 | [1] |
RSUs and PSAs granted (in dollars per share) | $ / shares | $ 23.56 | |
Unvested RSUs and PSAs canceled (in shares) | shares | [1] | |
Unvested RSUs and PSAs canceled (in dollars per share) | $ / shares | ||
PSAs vested (2) (in shares) | shares | (39,992) | [1],[2] |
PSAs vested (2) (in dollars per share) | $ / shares | $ 19.97 | [2] |
Unvested RSUs and PSAs (in shares) | shares | 86,701 | [1] |
Unvested RSUs and PSAs (in dollars per share) | $ / shares | $ 23.56 | |
[1] | The number of PSAs disclosed in this table are at the target level of 100%. | |
[2] | The PSAs vested on March 29, 2019; the actual number of common shares that were issued was determined by multiplying the PSAs by a payout percentage of 0%, as the performance-based conditions were not achieved. |
Note 8 - Shareholder Rights P_2
Note 8 - Shareholder Rights Plan (Details Textual) - $ / shares | Jun. 18, 2009 | Jun. 30, 2019 |
Number of Series Junior Participating Preferred Stock Shares Reserved | 150,000 | |
Dividend Distribution Under Shareholder Rights Plan | 1 | |
Class of Warrant or Right, Number of Securities Called by Each Warrant or Right | 0.01 | |
Purchase Price Under Rights | $ 83 | |
Acquisition Percentage | 15.00% | |
Value of Exercised Right | 2 | |
Right Redemption Value | $ 0.01 | |
Amended and Restated Rights Agreement Expiration Date | Jun. 28, 2019 |
Note 9 - Commitments and Cont_2
Note 9 - Commitments and Contingencies (Details Textual) $ in Thousands | 1 Months Ended | 6 Months Ended | ||
Jan. 31, 2017USD ($) | Jun. 30, 2019USD ($) | Jun. 30, 2018USD ($) | Jun. 30, 2014USD ($) | |
Number Of Potentially Responsible Parties | 150 | |||
Estimated Cost of EPA Selected Remedy | $ 1,000,000 | |||
Estimated Time to Complete Selected EPA Remedy | 13 years | |||
Proceeds from Insurance Settlement, Investing Activities | $ 400 | |||
Letters of Credit Outstanding, Amount | 1,600 | |||
Fire [Member] | ||||
Proceeds from Insurance Settlement, Investing Activities | 400 | |||
Insurance Settlements Receivable | 500 | |||
Business Interruption Losses | 3,200 | |||
Fire [Member] | Property, Plant and Equipment [Member] | ||||
Unusual or Infrequent Item, or Both, Net (Gain) Loss, Total | 900 | |||
Fire [Member] | Inventory [Member] | ||||
Unusual or Infrequent Item, or Both, Net (Gain) Loss, Total | $ 100 | |||
Portland Harbor Natural Resources Trustee Council [Member] | ||||
Loss Contingency, Accrual, Current | $ 400 | |||
Lower Willamette Group [Member] | ||||
Number Of Potentially Responsible Parties | 14 |
Note 10 - Revenue 1 (Details Te
Note 10 - Revenue 1 (Details Textual) - USD ($) | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | |
Increase (Decrease) in Revenue from Contract with Customers, Including Assessed Tax | $ 0 | $ (100,000) | $ (1,500,000) | $ 700,000 |
Contract with Customer, Liability, Revenue Recognized | 900,000 | $ 1,100,000 | 3,400,000 | $ 2,500,000 |
Revenue, Remaining Performance Obligation, Amount | $ 180,200,000 | $ 180,200,000 |
Note 10 - Revenue 2 (Details Te
Note 10 - Revenue 2 (Details Textual) | Jun. 30, 2019 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2019-07-01 | |
Revenue, Remaining Performance Obligation, Percentage | 58.00% |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period | 182 days |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-01-01 | |
Revenue, Remaining Performance Obligation, Percentage | 21.00% |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period | 1 year |
Note 11 - Income Taxes (Details
Note 11 - Income Taxes (Details Textual) - USD ($) $ in Millions | 3 Months Ended | 6 Months Ended | |||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | Dec. 31, 2018 | |
Effective Income Tax Rate Reconciliation, Percent, Total | 13.10% | 1.90% | 11.00% | 4.70% | |
Unrecognized Tax Benefits, Ending Balance | $ 4.4 | $ 4.4 | $ 4.4 |
Note 12 - Accumulated Other C_3
Note 12 - Accumulated Other Comprehensive Loss - Components of Accumulated Other Comprehensive Loss (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | |
Beginning balance | $ 220,788 | $ 196,267 | $ 218,590 | $ 200,264 |
Cumulative-effect adjustment for ASU 2018-02 (Note 14) | (875) | |||
Other comprehensive income (loss), net of tax | 27 | 47 | 38 | 96 |
Ending balance | 224,442 | 190,828 | 224,442 | 190,828 |
Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member] | ||||
Beginning balance | (1,551) | |||
Cumulative-effect adjustment for ASU 2018-02 (Note 14) | (235) | |||
Other comprehensive income (loss) before reclassifications | 47 | |||
Amounts reclassified from Accumulated other comprehensive loss | 6 | |||
Other comprehensive income (loss), net of tax | 53 | |||
Ending balance | (1,733) | (1,733) | ||
Accumulated Net Gain (Loss) from Cash Flow Hedges Attributable to Parent [Member] | ||||
Beginning balance | 15 | |||
Cumulative-effect adjustment for ASU 2018-02 (Note 14) | ||||
Other comprehensive income (loss) before reclassifications | (10) | |||
Amounts reclassified from Accumulated other comprehensive loss | (5) | |||
Other comprehensive income (loss), net of tax | (15) | |||
Ending balance | ||||
AOCI Attributable to Parent [Member] | ||||
Beginning balance | (1,760) | (1,396) | (1,536) | (1,445) |
Cumulative-effect adjustment for ASU 2018-02 (Note 14) | (235) | |||
Other comprehensive income (loss) before reclassifications | 37 | |||
Amounts reclassified from Accumulated other comprehensive loss | 1 | |||
Other comprehensive income (loss), net of tax | 38 | |||
Ending balance | $ (1,733) | $ (1,349) | $ (1,733) | $ (1,349) |
Note 12 - Accumulated Other C_4
Note 12 - Accumulated Other Comprehensive Loss - Reclassification of Accumulated Other Comprehensive Loss (Details) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | |
Cost of sales | $ 60,985 | $ 30,023 | $ 117,057 | $ 62,040 |
Net income (loss) | 2,974 | (5,686) | 5,139 | (7,637) |
Revenue from Contract with Customer, Including Assessed Tax | 69,203 | 28,785 | 131,846 | 62,150 |
Associated income tax (expense) benefit | (447) | 108 | (638) | 380 |
Reclassification out of Accumulated Other Comprehensive Income [Member] | ||||
Net income (loss) | (3) | (1) | (2) | |
Reclassification out of Accumulated Other Comprehensive Income [Member] | Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member] | ||||
Cost of sales | (3) | (6) | ||
Net income (loss) | (3) | (6) | ||
Reclassification out of Accumulated Other Comprehensive Income [Member] | Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member] | ||||
Net income (loss) | 5 | (2) | ||
Revenue from Contract with Customer, Including Assessed Tax | 7 | (3) | ||
Associated income tax (expense) benefit | $ (2) | $ 1 |
Note 13 - Net Income (Loss) P_3
Note 13 - Net Income (Loss) Per Share (Details Textual) - shares | 3 Months Ended | 6 Months Ended | |
Jun. 30, 2018 | Jun. 30, 2018 | Jun. 30, 2019 | |
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount | 64,000 | 75,000 | |
Restricted Stock Units and Performance Share Award Target Level, Percentage | 100.00% | 100.00% | 100.00% |
Performance Shares [Member] | |||
Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount | 40,000 | 37,000 |
Note 13 - Net Income (Loss) P_4
Note 13 - Net Income (Loss) Per Share - Net Loss Per Basic and Diluted Weighted Average Common Shares Outstanding (Details) - USD ($) $ / shares in Units, shares in Thousands, $ in Thousands | 3 Months Ended | 6 Months Ended | |||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | ||
Net income (loss) | $ 2,974 | $ (5,686) | $ 5,139 | $ (7,637) | |
Basic weighted-average common shares outstanding (in shares) | 9,736 | 9,727 | 9,736 | 9,717 | |
Effect of potentially dilutive common shares(1) (in shares) | [1] | 17 | 9 | ||
Diluted weighted-average common shares outstanding (in shares) | 9,753 | 9,727 | 9,745 | 9,717 | |
Basic (in dollars per share) | $ 0.31 | $ (0.59) | $ 0.53 | $ (0.79) | |
Diluted (in dollars per share) | $ 0.31 | $ (0.59) | $ 0.53 | $ (0.79) | |
[1] | The weighted-average number of antidilutive shares not included in the computation of diluted net loss per share was approximately 64,000 and 75,000 for the three and six months ended June 30, 2018, respectively, including approximately 40,000 and 37,000, respectively, of performance-based share awards, at the target level of 100%, that were not included because the performance conditions had not been met as of June 30, 2018. |
Note 14 - Recent Accounting a_2
Note 14 - Recent Accounting and Reporting Developments (Details Textual) - USD ($) $ in Thousands | Jun. 30, 2019 | Jan. 01, 2019 | Dec. 31, 2018 | Dec. 31, 2017 |
Cumulative Effect of New Accounting Principle in Period of Adoption | $ (875) | |||
Operating Lease, Liability, Total | $ 8,631 | |||
AOCI Attributable to Parent [Member] | ||||
Cumulative Effect of New Accounting Principle in Period of Adoption | (235) | |||
Retained Earnings [Member] | ||||
Cumulative Effect of New Accounting Principle in Period of Adoption | $ 235 | $ (875) | ||
Accounting Standards Update 2016-02 [Member] | ||||
Operating Lease, Right-of-Use Asset | $ 8,000 | |||
Operating Lease, Liability, Total | 8,000 | |||
Accounting Standards Update 2018-02 [Member] | AOCI Attributable to Parent [Member] | ||||
Cumulative Effect of New Accounting Principle in Period of Adoption | (200) | |||
Accounting Standards Update 2018-02 [Member] | Retained Earnings [Member] | ||||
Cumulative Effect of New Accounting Principle in Period of Adoption | $ 200 |
Note 15 - Restructuring (Detail
Note 15 - Restructuring (Details Textual) - USD ($) $ in Thousands | 3 Months Ended | 6 Months Ended | ||
Jun. 30, 2019 | Jun. 30, 2018 | Jun. 30, 2019 | Jun. 30, 2018 | |
Restructuring Charges, Total | $ 783 | $ 1,088 | ||
Employee Severance [Member] | ||||
Restructuring Charges, Total | 400 | 600 | ||
Demobilization Activities [Member] | ||||
Restructuring Charges, Total | $ 400 | $ 500 |